X-Git-Url: http://git.samba.org/?a=blobdiff_plain;f=src%2Fresolv_wrapper.c;h=cbca24864343a679c4f85c7e0fb63a7e36ffe1c0;hb=3ab29a2b4bbe1217d37333a8881ca906e07a3f0d;hp=c88893ef9ec432c3ca641efba7433ddfec321ed5;hpb=c42bd7816325c460f07036101aab282049cd72df;p=resolv_wrapper.git diff --git a/src/resolv_wrapper.c b/src/resolv_wrapper.c index c88893e..cbca248 100644 --- a/src/resolv_wrapper.c +++ b/src/resolv_wrapper.c @@ -83,6 +83,19 @@ enum rwrap_dbglvl_e { RWRAP_LOG_TRACE }; +#ifndef HAVE_GETPROGNAME +static const char *getprogname(void) +{ +#if defined(HAVE_PROGRAM_INVOCATION_SHORT_NAME) + return program_invocation_short_name; +#elif defined(HAVE_GETEXECNAME) + return getexecname(); +#else + return NULL; +#endif /* HAVE_PROGRAM_INVOCATION_SHORT_NAME */ +} +#endif /* HAVE_GETPROGNAME */ + static void rwrap_log(enum rwrap_dbglvl_e dbglvl, const char *func, const char *format, ...) PRINTF_ATTRIBUTE(3, 4); # define RWRAP_LOG(dbglvl, ...) rwrap_log((dbglvl), __func__, __VA_ARGS__) @@ -94,8 +107,8 @@ static void rwrap_log(enum rwrap_dbglvl_e dbglvl, va_list va; const char *d; unsigned int lvl = 0; - int pid = getpid(); const char *prefix = NULL; + const char *progname = NULL; d = getenv("RESOLV_WRAPPER_DEBUGLEVEL"); if (d != NULL) { @@ -128,10 +141,16 @@ static void rwrap_log(enum rwrap_dbglvl_e dbglvl, break; } + progname = getprogname(); + if (progname == NULL) { + progname = ""; + } + fprintf(stderr, - "%s(%d) - %s: %s\n", + "%s[%s (%u)] - %s: %s\n", prefix, - pid, + progname, + (unsigned int)getpid(), func, buffer); }