static const char *program_name;
+#if DEBUG
+static void print_tstamp (FILE *);
+#endif
static void process_opts (int, char **);
static void process_opt_attr (const char *);
static void write_attr (const struct attr *, unsigned int *);
#if DEBUG
log = open_file (DEBUG_FILE, "w");
+ print_tstamp (log);
#endif
attr[0] = '\0';
exit (EXIT_SUCCESS);
}
+#if DEBUG
+static void
+print_tstamp (FILE *log)
+{
+ time_t t;
+ struct tm *tm;
+ char str[128];
+ size_t written;
+
+ t = time (NULL);
+ tm = localtime (&t);
+ if (tm == NULL)
+ {
+ perror ("localtime");
+ exit (EXIT_FAILURE);
+ }
+ written = strftime (str, sizeof (str), "%Y-%m-%d %H:%M:%S %Z", tm);
+ if (written == 0)
+ vfprintf_fail (formats[FMT_GENERIC], "strftime: 0 returned");
+
+ fprintf (log, "%s\n", str);
+ while (written--)
+ fprintf (log, "=");
+ fprintf (log, "\n");
+}
+#endif
+
#define PRINT_HELP_EXIT() \
print_help (); \
exit (EXIT_SUCCESS);
return p;
}
#else
+static const char *const format_debug = "%s: %10s %7lu bytes [source file %s, line %5u]\n";
static void *
malloc_wrap_debug (size_t size, const char *file, unsigned int line)
{
void *p = malloc (size);
if (!p)
MEM_ALLOC_FAIL_DEBUG (file, line);
- fprintf (log, "%s: malloc'ed %lu bytes [source file %s, line %u]\n", program_name, (unsigned long)size, file, line);
+ fprintf (log, format_debug, program_name, "malloc'ed", (unsigned long)size, file, line);
return p;
}
void *p = calloc (nmemb, size);
if (!p)
MEM_ALLOC_FAIL_DEBUG (file, line);
- fprintf (log, "%s: calloc'ed %lu bytes [source file %s, line %u]\n", program_name, (unsigned long)(nmemb * size), file, line);
+ fprintf (log, format_debug, program_name, "calloc'ed", (unsigned long)(nmemb * size), file, line);
return p;
}
void *p = realloc (ptr, size);
if (!p)
MEM_ALLOC_FAIL_DEBUG (file, line);
- fprintf (log, "%s: realloc'ed %lu bytes [source file %s, line %u]\n", program_name, (unsigned long)size, file, line);
+ fprintf (log, format_debug, program_name, "realloc'ed", (unsigned long)size, file, line);
return p;
}
#endif /* !DEBUG */