Charles Davis cdavis5x@gmail.com writes:
@@ -1118,21 +1118,29 @@ static void set_process_name( int argc, char *argv[] ) { #ifdef HAVE_SETPROCTITLE setproctitle("-%s", argv[1]); -#endif
-#ifdef HAVE_PRCTL +#elif defined(HAVE_PRCTL) || defined(HAVE_SETPROGNAME) int i, offset; char *p, *prctl_name = argv[1]; char *end = argv[argc-1] + strlen(argv[argc-1]) + 1;
-#ifndef PR_SET_NAME -# define PR_SET_NAME 15 +#ifdef HAVE_SETPROGNAME
- static char progname[PATH_MAX];
#endif
if ((p = strrchr( prctl_name, '\\' ))) prctl_name = p + 1; if ((p = strrchr( prctl_name, '/' ))) prctl_name = p + 1;
+#ifdef HAVE_SETPROGNAME
- lstrcpynA( progname, prctl_name, sizeof(progname)/sizeof(progname[0]) );
- progname[PATH_MAX-1] = 0;
- setprogname( progname );
- if (1)
+#elif defined(HAVE_PRCTL) +#ifndef PR_SET_NAME +# define PR_SET_NAME 15 +#endif
- if (prctl( PR_SET_NAME, prctl_name ) != -1)
+#endif
This is becoming hard to follow, please try to clean up these #ifdefs a little. Also you shouldn't need to make a copy, it can point directly into argv.