From 9a12adf6d29cdefc98afe2566a9e5479489f111b Mon Sep 17 00:00:00 2001 From: kcwu Date: Wed, 12 Dec 2007 01:42:23 +0000 Subject: * extract common functions as library. git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3673 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/args.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'mbbsd/args.c') diff --git a/mbbsd/args.c b/mbbsd/args.c index 8d6ee98d..8a7658a7 100644 --- a/mbbsd/args.c +++ b/mbbsd/args.c @@ -10,9 +10,10 @@ initsetproctitle(int argc, char **argv, char **envp) #else -char **Argv = NULL; /* pointer to argument vector */ -char *LastArgv = NULL;/* end of argv */ -extern char **environ; +static char **Argv = NULL; /* pointer to argument vector */ +static int arg_size; /* end of argv */ + +extern char **environ; void initsetproctitle(int argc, char **argv, char **envp) @@ -20,6 +21,7 @@ initsetproctitle(int argc, char **argv, char **envp) register int i; int len=0,nenv=0; + /* * Move the environment so setproctitle can use the space at the top of * memory. @@ -40,9 +42,9 @@ initsetproctitle(int argc, char **argv, char **envp) /* Save start and extent of argv for setproctitle. */ Argv = argv; if (i > 0) - LastArgv = envp[i - 1] + strlen(envp[i - 1]); + argv_size = envp[i - 1] + strlen(envp[i - 1]) - Argv[0]; else - LastArgv = argv[argc - 1] + strlen(argv[argc - 1]); + argv_size = argv[argc - 1] + strlen(argv[argc - 1]) - Argv[0]; } static void @@ -51,9 +53,9 @@ do_setproctitle(const char *cmdline) int len; len = strlen(cmdline) + 1; // +1 for '\0' - if(len > LastArgv - Argv[0] - 2) // 2 ?? - len = LastArgv - Argv[0] - 2; - memset(Argv[0], 0, LastArgv-Argv[0]); + if(len > argv_size - 2) // 2 ?? + len = argv_size - 2; + memset(Argv[0], 0, argv_size); strlcpy(Argv[0], cmdline, len); Argv[1] = NULL; } -- cgit v1.2.3