[WINHLP32] Sync with Wine Staging 4.0. CORE-15682
authorAmine Khaldi <amine.khaldi@reactos.org>
Fri, 25 Jan 2019 12:07:47 +0000 (13:07 +0100)
committerAmine Khaldi <amine.khaldi@reactos.org>
Fri, 25 Jan 2019 12:07:47 +0000 (13:07 +0100)
base/applications/winhlp32/CMakeLists.txt
base/applications/winhlp32/macro.c
base/applications/winhlp32/macro.lex.l
base/applications/winhlp32/macro.lex.yy.c
base/applications/winhlp32/macro.lex.yy.h
base/applications/winhlp32/winhelp.c
media/doc/README.WINE

index aecb08c..cb4ee2e 100644 (file)
@@ -2,8 +2,8 @@
 include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/wine)
 
 add_definitions(
+    -D__WINESRC__
     -D__ROS_LONG64__
-    -D_CRT_NONSTDC_NO_DEPRECATE
     -Dfileno=_fileno
     -Disatty=_isatty)
 
index 5a25d6c..280e618 100644 (file)
@@ -154,7 +154,7 @@ void CALLBACK MACRO_About(void)
     WCHAR name[256];
     HICON icon = LoadImageW( Globals.hInstance, MAKEINTRESOURCEW(IDI_WINHELP),
                              IMAGE_ICON, 48, 48, LR_SHARED );
-    LoadStringW( Globals.hInstance, STID_WINE_HELP, name, sizeof(name)/sizeof(WCHAR) );
+    LoadStringW( Globals.hInstance, STID_WINE_HELP, name, ARRAY_SIZE( name ));
     ShellAboutW( MACRO_CurrentWindow()->hMainWnd, name, NULL, icon );
 }
 
index da2dd22..eab7a79 100644 (file)
@@ -20,7 +20,7 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 %}
-%option noinput nounput never-interactive 8bit noyywrap
+%option noinput nounput never-interactive 8bit
 %x quote
 %{
 #include "config.h"
@@ -75,7 +75,7 @@ struct lexret  yylval;
         /* opening a new one */
         if (lex_data->quote_stk_idx == 0)
         {
-            assert(lex_data->cache_used < sizeof(lex_data->cache_string) / sizeof(lex_data->cache_string[0]));
+            assert(lex_data->cache_used < ARRAY_SIZE(lex_data->cache_string));
             lex_data->strptr = lex_data->cache_string[lex_data->cache_used] = HeapAlloc(GetProcessHeap(), 0, strlen(lex_data->macroptr) + 1);
             yylval.string = lex_data->strptr;
             lex_data->cache_used++;
@@ -83,7 +83,7 @@ struct lexret  yylval;
         }
         else *lex_data->strptr++ = yytext[0];
         lex_data->quote_stack[lex_data->quote_stk_idx++] = yytext[0];
-        assert(lex_data->quote_stk_idx < sizeof(lex_data->quote_stack) / sizeof(lex_data->quote_stack[0]));
+        assert(lex_data->quote_stk_idx < ARRAY_SIZE(lex_data->quote_stack));
     }
     else
     {
@@ -222,7 +222,7 @@ CheckArgs_end:
 static int MACRO_CallBoolFunc(void *fn, const char* args, void** ret)
 {
     void*       pa[2];
-    int         idx = MACRO_CheckArgs(pa, sizeof(pa)/sizeof(pa[0]), args);
+    int         idx = MACRO_CheckArgs(pa, ARRAY_SIZE(pa), args);
 
     if (idx < 0) return 0;
     if (!fn)     return 1;
@@ -257,7 +257,7 @@ static int MACRO_CallBoolFunc(void *fn, const char* args, void** ret)
 static int MACRO_CallVoidFunc(void *fn, const char* args)
 {
     void*       pa[6];
-    int         idx = MACRO_CheckArgs(pa, sizeof(pa)/sizeof(pa[0]), args);
+    int         idx = MACRO_CheckArgs(pa, ARRAY_SIZE(pa), args);
 
     if (idx < 0) return 0;
     if (!fn)     return 1;
@@ -367,3 +367,7 @@ WINHELP_WINDOW* MACRO_CurrentWindow(void)
 {
     return lex_data ? lex_data->window : Globals.active_win;
 }
+
+#ifndef yywrap
+int yywrap(void) { return 1; }
+#endif
index 255bdb1..ff4d78c 100644 (file)
@@ -333,9 +333,6 @@ void yyfree (void *  );
 
 /* Begin user sect3 */
 
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
 typedef unsigned char YY_CHAR;
 
 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
@@ -528,7 +525,7 @@ struct lexret  yylval;
 #define YY_INPUT(buf,result,max_size)\
   if ((result = *lex_data->macroptr ? 1 : 0)) buf[0] = *lex_data->macroptr++;
 
-#line 532 "macro.lex.yy.c"
+#line 529 "macro.lex.yy.c"
 
 #define INITIAL 0
 #define quote 1
@@ -712,7 +709,7 @@ YY_DECL
 #line 58 "macro.lex.l"
 
 
-#line 716 "macro.lex.yy.c"
+#line 713 "macro.lex.yy.c"
 
        if ( !(yy_init) )
                {
@@ -827,7 +824,7 @@ YY_RULE_SETUP
         /* opening a new one */
         if (lex_data->quote_stk_idx == 0)
         {
-            assert(lex_data->cache_used < sizeof(lex_data->cache_string) / sizeof(lex_data->cache_string[0]));
+            assert(lex_data->cache_used < ARRAY_SIZE(lex_data->cache_string));
             lex_data->strptr = lex_data->cache_string[lex_data->cache_used] = HeapAlloc(GetProcessHeap(), 0, strlen(lex_data->macroptr) + 1);
             yylval.string = lex_data->strptr;
             lex_data->cache_used++;
@@ -835,7 +832,7 @@ YY_RULE_SETUP
         }
         else *lex_data->strptr++ = yytext[0];
         lex_data->quote_stack[lex_data->quote_stk_idx++] = yytext[0];
-        assert(lex_data->quote_stk_idx < sizeof(lex_data->quote_stack) / sizeof(lex_data->quote_stack[0]));
+        assert(lex_data->quote_stk_idx < ARRAY_SIZE(lex_data->quote_stack));
     }
     else
     {
@@ -880,7 +877,7 @@ YY_RULE_SETUP
 #line 108 "macro.lex.l"
 ECHO;
        YY_BREAK
-#line 884 "macro.lex.yy.c"
+#line 881 "macro.lex.yy.c"
 case YY_STATE_EOF(INITIAL):
        yyterminate();
 
@@ -1957,7 +1954,7 @@ CheckArgs_end:
 static int MACRO_CallBoolFunc(void *fn, const char* args, void** ret)
 {
     void*       pa[2];
-    int         idx = MACRO_CheckArgs(pa, sizeof(pa)/sizeof(pa[0]), args);
+    int         idx = MACRO_CheckArgs(pa, ARRAY_SIZE(pa), args);
 
     if (idx < 0) return 0;
     if (!fn)     return 1;
@@ -1992,7 +1989,7 @@ static int MACRO_CallBoolFunc(void *fn, const char* args, void** ret)
 static int MACRO_CallVoidFunc(void *fn, const char* args)
 {
     void*       pa[6];
-    int         idx = MACRO_CheckArgs(pa, sizeof(pa)/sizeof(pa[0]), args);
+    int         idx = MACRO_CheckArgs(pa, ARRAY_SIZE(pa), args);
 
     if (idx < 0) return 0;
     if (!fn)     return 1;
@@ -2103,3 +2100,7 @@ WINHELP_WINDOW* MACRO_CurrentWindow(void)
     return lex_data ? lex_data->window : Globals.active_win;
 }
 
+#ifndef yywrap
+int yywrap(void) { return 1; }
+#endif
+
index 05147e8..7b39b6c 100644 (file)
@@ -201,9 +201,6 @@ void yyfree (void *  );
 
 /* Begin user sect3 */
 
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
 extern int yylineno;
 
 extern char *yytext;
@@ -318,6 +315,6 @@ extern int yylex (void);
 #line 107 "macro.lex.l"
 
 
-#line 322 "macro.lex.yy.h"
+#line 319 "macro.lex.yy.h"
 #undef yyIN_HEADER
 #endif /* yyHEADER_H */
index 2ac3d2f..7ce5d4a 100644 (file)
@@ -66,19 +66,18 @@ static void WINHELP_InitFonts(HWND hWnd)
         {-12, 0, 0, 0, 700, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, {'H','e','l','v',0}},
         {-10, 0, 0, 0, 700, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, {'H','e','l','v',0}},
         { -8, 0, 0, 0, 400, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 32, {'H','e','l','v',0}}};
-#define FONTS_LEN (sizeof(logfontlist)/sizeof(*logfontlist))
 
-    static HFONT fonts[FONTS_LEN];
+    static HFONT fonts[ARRAY_SIZE(logfontlist)];
     static BOOL init = FALSE;
 
-    win->fonts_len = FONTS_LEN;
+    win->fonts_len = ARRAY_SIZE(logfontlist);
     win->fonts = fonts;
 
     if (!init)
     {
         UINT i;
 
-        for (i = 0; i < FONTS_LEN; i++)
+        for (i = 0; i < ARRAY_SIZE(logfontlist); i++)
        {
             fonts[i] = CreateFontIndirectW(&logfontlist[i]);
        }
@@ -595,7 +594,7 @@ static void WINHELP_RememberPage(WINHELP_WINDOW* win, WINHELP_WNDPAGE* wpage)
 
     if (!Globals.history.index || Globals.history.set[0].page != wpage->page)
     {
-        num = sizeof(Globals.history.set) / sizeof(Globals.history.set[0]);
+        num = ARRAY_SIZE(Globals.history.set);
         /* we're full, remove latest entry */
         if (Globals.history.index == num)
         {
@@ -610,7 +609,7 @@ static void WINHELP_RememberPage(WINHELP_WINDOW* win, WINHELP_WNDPAGE* wpage)
     }
     if (win->hHistoryWnd) InvalidateRect(win->hHistoryWnd, NULL, TRUE);
 
-    num = sizeof(win->back.set) / sizeof(win->back.set[0]);
+    num = ARRAY_SIZE(win->back.set);
     if (win->back.index == num)
     {
         /* we're full, remove latest entry */
@@ -1136,7 +1135,7 @@ static LRESULT CALLBACK WINHELP_HistoryWndProc(HWND hWnd, UINT msg, WPARAM wPara
         GetWindowRect(hWnd, &r);
 
         r.right = r.left + 30 * tm.tmAveCharWidth;
-        r.bottom = r.top + (sizeof(Globals.history.set) / sizeof(Globals.history.set[0])) * tm.tmHeight;
+        r.bottom = r.top + ARRAY_SIZE(Globals.history.set) * tm.tmHeight;
         AdjustWindowRect(&r, GetWindowLongW(hWnd, GWL_STYLE), FALSE);
         if (r.left < 0) {r.right -= r.left; r.left = 0;}
         if (r.top < 0) {r.bottom -= r.top; r.top = 0;}
index 05961c6..9494440 100644 (file)
@@ -239,7 +239,7 @@ reactos/base/applications/extrac32          # Synced to WineStaging-4.0
 reactos/base/applications/iexplore          # Synced to WineStaging-3.3
 reactos/base/applications/notepad           # Forked at Wine-20041201
 reactos/base/applications/regedit           # Out of sync
-reactos/base/applications/winhlp32          # Synced to WineStaging-3.3
+reactos/base/applications/winhlp32          # Synced to WineStaging-4.0
 reactos/base/applications/wordpad           # Synced to WineStaging-1.9.16
 reactos/base/applications/write             # Synced to WineStaging-3.3
 reactos/base/services/rpcss                 # Synced to WineStaging-3.3