67 size_t length = strlen(
string) + 1;
68 char *copy = (
char *)malloc(length *
sizeof(
char));
71 return((
char *)memcpy(copy,
string, length));
99 va_start(args, format);
128 memset(&tm_time, 0,
sizeof(tm_time));
130 if (!gmtime_r(&secs1970, &tm_time)) {
131 strcpy(
string,
"FORMATTING ERROR");
135 "%04d-%02d-%02d %02d:%02d:%02d",
136 tm_time.tm_year + 1900,
171 return((
char *)NULL);
174 string = (
char *)malloc(length *
sizeof(
char));
176 return((
char *)NULL);
196 struct stat pid_dir_stats;
198 snprintf(pid_dir, 32,
"/proc/%d", (
int)pid);
200 if (stat(pid_dir, &pid_dir_stats) == 0) {
201 return(pid_dir_stats.st_mtime);
239 if (access(path, F_OK) != 0) {
241 buffer = malloc((strlen(path) + 1) *
sizeof(
char));
244 snprintf(errstr, errlen,
245 "Could not make path: %s\n"
246 " -> memory allocation error\n", path);
251 strcpy(buffer, path);
253 for (chrp = buffer+1; ; chrp++) {
255 if (*chrp ==
'/' || *chrp ==
'\0') {
260 if (access(buffer, F_OK) != 0) {
262 if (mkdir(buffer, mode) < 0) {
264 snprintf(errstr, errlen,
265 "Could not make path: %s\n"
266 " -> mkdir error: %s\n",
267 buffer, strerror(errno));
275 if (chr ==
'\0')
break;
299 retval = vprintf(format, copy);
320 retval = vfprintf(stream, format, copy);
342 retval = vsprintf(
string, format, copy);
370 retval = vsnprintf(
string, nbytes, format, copy);