+
+ /* Copy all arguments */
+ for (i=0; i<argc; i++)
+ argv[i] = xstrdup(argv[i]);
+
+ /* Recalculate program_invocation_name, otherwise syslog() will be confused. */
+ char *name = argv[0];
+ program_invocation_name = name;
+ char *p = strrchr(name, '/');
+ if (p)
+ program_invocation_short_name = p + 1;
+ else
+ program_invocation_short_name = name;