diff --git a/src/server/slavefuncs.c b/src/server/slavefuncs.c --- a/src/server/slavefuncs.c +++ b/src/server/slavefuncs.c @@ -72,13 +72,18 @@ xmlNodePtr xml_quickxpath(xmlXPathContex } -/** Stub for deleting job data from the disk. @TODO: unstubify me! */ +/** Deletes job data from the disk. @TODO: add error checking! */ int delete_jobdata(int jobnum, char *datadir) { char *jobpath; + char *jobcont; _distren_asprintf(&jobpath, "%s/%d", datadir, jobnum); - // rmdir(jobpath); - fprintf(stderr, "Please manually remove %s. Automatic removal is currently not implemented.\n", jobpath); + _distren_asprintf(&jobcont, "%s/%d/*", datadir, jobnum); + remove(jobcont); + rmdir(jobpath); + fprintf(stderr, "Removed files in %s/%d/ if everything was successful\n", jobpath, jobnum); + free(jobpath); + free(jobcont); return 0; } @@ -788,7 +793,7 @@ int unpackJob(char *outdir, char *pathto astatus = archive_read_open_filename(a, pathtoTar, 8192); if (astatus != ARCHIVE_OK) { - fprintf(stderr, "error opening archive\n"); + fprintf(stderr, "Error opening archive!\n"); return 1; } @@ -799,7 +804,7 @@ int unpackJob(char *outdir, char *pathto { astatus = archive_read_next_header2(a, ae); if(astatus == ARCHIVE_WARN) - fprintf(stderr, "Encountered nonfatal read error somehow\n"); + fprintf(stderr, "Encountered nonfatal read error somehow!\n"); if(astatus == ARCHIVE_OK || astatus == ARCHIVE_WARN) @@ -813,7 +818,7 @@ int unpackJob(char *outdir, char *pathto if(astatus != ARCHIVE_EOF) { - fprintf(stderr, "Error reading archive\n"); + fprintf(stderr, "Error reading archive!\n"); return 1; }