Commit c984dacd65920b2f48cf0f4e579030488799f496

Guillem Jover 2012-11-27T14:24:13

Implement sendmail semantics for setproctitle() Prefix the title with "progname: ", and skip it if the format string starts with '-' (which gets skipped on output too).

diff --git a/src/setproctitle.c b/src/setproctitle.c
index 1817739..969f266 100644
--- a/src/setproctitle.c
+++ b/src/setproctitle.c
@@ -203,8 +203,18 @@ setproctitle(const char *fmt, ...)
 		return;
 
 	if (fmt) {
+		if (fmt[0] == '-') {
+			/* Skip program name prefix. */
+			fmt++;
+			len = 0;
+		} else {
+			/* Print program name heading for grep. */
+			snprintf(buf, sizeof(buf), "%s: ", getprogname());
+			len = strlen(buf);
+		}
+
 		va_start(ap, fmt);
-		len = vsnprintf(buf, sizeof(buf), fmt, ap);
+		len += vsnprintf(buf + len, sizeof(buf) - len, fmt, ap);
 		va_end(ap);
 	} else {
 		len = snprintf(buf, sizeof(buf), "%s", SPT.arg0);