thermferm/server.c

changeset 562
119129969d37
parent 557
ae17042a6d39
child 564
3fc61dd28656
equal deleted inserted replaced
561:fcfc3dbe85fa 562:119129969d37
315 int cmd_archive(char *buf) 315 int cmd_archive(char *buf)
316 { 316 {
317 char *opt, *param, *name = NULL, *filename = NULL, *logname = NULL, mbits[11], tstr[24]; 317 char *opt, *param, *name = NULL, *filename = NULL, *logname = NULL, mbits[11], tstr[24];
318 DIR *dd; 318 DIR *dd;
319 FILE *fp; 319 FILE *fp;
320 struct dirent entry, *result; 320 struct dirent *result;
321 ls_list *lsx = NULL, *tmp; 321 ls_list *lsx = NULL, *tmp;
322 struct stat sbuf; 322 struct stat sbuf;
323 struct tm *tbuf; 323 struct tm *tbuf;
324 time_t ftime; 324 time_t ftime;
325 int found; 325 int found;
354 } 354 }
355 name = xstrcat(name, (char *)"/.thermferm/log/"); 355 name = xstrcat(name, (char *)"/.thermferm/log/");
356 356
357 if ((dd = opendir(name))) { 357 if ((dd = opendir(name))) {
358 for (;;) { 358 for (;;) {
359 if ((readdir_r(dd, &entry, &result)) != 0) { 359 if (! (result = readdir(dd))) {
360 syslog(LOG_NOTICE, "readdir_r: error=%d", errno); 360 syslog(LOG_NOTICE, "readdir: error=%d", errno);
361 break; 361 break;
362 } 362 }
363 if (result == NULL) /* End of directory */
364 break;
365 if (result->d_name[0] != '.') { 363 if (result->d_name[0] != '.') {
366 filename = xstrcpy(name); 364 filename = xstrcpy(name);
367 filename = xstrcat(filename, result->d_name); 365 filename = xstrcat(filename, result->d_name);
368 /* 366 /*
369 * Remove files from the list when they are in use 367 * Remove files from the list when they are in use

mercurial