Alexandre Julliard : kernel: Fixed set_process_name for the winevdm case.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Apr 7 05:04:35 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: fcb771d9c0eafd812432b333cba6f2da0b4e5d8b
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=fcb771d9c0eafd812432b333cba6f2da0b4e5d8b

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Apr  7 11:45:22 2006 +0200

kernel: Fixed set_process_name for the winevdm case.

---

 dlls/kernel/process.c |   28 ++++++++++++++++------------
 1 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/dlls/kernel/process.c b/dlls/kernel/process.c
index 2cdc0ef..3056263 100644
--- a/dlls/kernel/process.c
+++ b/dlls/kernel/process.c
@@ -873,26 +873,30 @@ static void set_process_name( int *argc,
         {
             strcpy( argv[0], name );
             offset = argv[1] - (argv[0] + strlen(name) + 1);
+            memmove( argv[1] - offset, argv[1], end - argv[1] );
+            memset( end - offset, 0, offset );
+            for (i = 1; i < *argc; i++) argv[i] -= offset;
         }
         else
         {
             offset = argv[1] - argv[0];
+            memmove( argv[1] - offset, argv[1], end - argv[1] );
+            memset( end - offset, 0, offset );
+            for (i = 1; i < *argc; i++) argv[i-1] = argv[i] - offset;
+            argv[i-1] = NULL;
+            (*argc)--;
         }
-        memmove( argv[1] - offset, argv[1], end - argv[1] );
-        memset( end - offset, 0, offset );
-        for (i = 1; i < *argc; i++) argv[i-1] = argv[i] - offset;
-        argv[i-1] = NULL;
-        (*argc)--;
-        return;
     }
-#endif  /* HAVE_PRCTL */
-
-    if (name) argv[0] = name;
     else
+#endif  /* HAVE_PRCTL */
     {
-        /* remove argv[0] */
-        memmove( argv, argv + 1, *argc * sizeof(argv[0]) );
-        (*argc)--;
+        if (name) argv[0] = name;
+        else
+        {
+            /* remove argv[0] */
+            memmove( argv, argv + 1, *argc * sizeof(argv[0]) );
+            (*argc)--;
+        }
     }
 }
 




More information about the wine-cvs mailing list