cmd: Fix cmd to take /? as a help parameter.
authorArjun Comar <mandaya@rose-hulman.edu>
Tue, 2 Mar 2010 21:26:09 +0000 (16:26 -0500)
committerAlexandre Julliard <julliard@winehq.org>
Thu, 4 Mar 2010 16:31:05 +0000 (17:31 +0100)
programs/cmd/builtins.c
programs/cmd/wcmdmain.c

index fdb4404e3d1214b1857e5161ef2277737684da31..15d320cf2e6104a50ed7494a48e3877fc9569184 100644 (file)
@@ -1134,12 +1134,12 @@ void WCMD_give_help (WCHAR *command) {
   else {
     for (i=0; i<=WCMD_EXIT; i++) {
       if (CompareStringW(LOCALE_USER_DEFAULT, NORM_IGNORECASE | SORT_STRINGSORT,
-         param1, -1, inbuilt[i], -1) == 2) {
+         command, -1, inbuilt[i], -1) == 2) {
        WCMD_output_asis (WCMD_LoadMessage(i));
        return;
       }
     }
-    WCMD_output (WCMD_LoadMessage(WCMD_NOCMDHELP), param1);
+    WCMD_output (WCMD_LoadMessage(WCMD_NOCMDHELP), command);
   }
   return;
 }
index f97a1fdd650b0982b71925a07e0d34b8274de179..b2243e390e4386325fb44777bd5db1570a15ecb8 100644 (file)
@@ -1411,6 +1411,15 @@ void WCMD_execute (WCHAR *command, WCHAR *redirects,
     WCMD_parse (p, quals, param1, param2);
     WINE_TRACE("param1: %s, param2: %s\n", wine_dbgstr_w(param1), wine_dbgstr_w(param2));
 
+    if((p[0] == '/') && (p[1] == '?')) {
+
+      /*this is a help request for a program*/
+      i = WCMD_HELP;
+      memcpy(p, whichcmd, count * sizeof(WCHAR));
+      p[count] = '\0';
+
+    }
+
     switch (i) {
 
       case WCMD_ATTRIB: