X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fcommand-line.c;h=b881c042ada693eece3e3d59079d491aaabcbbb6;hb=3e34fbdd62bcd79dad4f62ba6ec920d8f3be71bb;hp=76a4e748e25b764ba6519d69966e7fdbb8836956;hpb=361906b1e2c6482d77280f345d3e42048d8c2700;p=openvswitch diff --git a/lib/command-line.c b/lib/command-line.c index 76a4e748..b881c042 100644 --- a/lib/command-line.c +++ b/lib/command-line.c @@ -140,8 +140,8 @@ proctitle_init(int argc, char **argv) } } -/* Changes the name of the process, as shown by "ps", to 'format', which is - * formatted as if by printf(). */ +/* Changes the name of the process, as shown by "ps", to the program name + * followed by 'format', which is formatted as if by printf(). */ void proctitle_set(const char *format, ...) { @@ -157,7 +157,10 @@ proctitle_set(const char *format, ...) } va_start(args, format); - n = vsnprintf(argv_start, argv_size, format, args); + n = snprintf(argv_start, argv_size, "%s: ", program_name); + if (n < argv_size) { + n += vsnprintf(argv_start + n, argv_size - n, format, args); + } if (n >= argv_size) { /* The name is too long, so add an ellipsis at the end. */ strcpy(&argv_start[argv_size - 4], "..."); @@ -187,10 +190,13 @@ proctitle_init(int argc OVS_UNUSED, char **argv OVS_UNUSED) { } +#ifndef __FreeBSD__ +/* On FreeBSD we #define this to setproctitle. */ void proctitle_set(const char *format OVS_UNUSED, ...) { } +#endif void proctitle_restore(void)