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