Ignore:
Timestamp:
Mar 5, 2024, 1:57:03 AM (4 months ago)
Author:
Bruno Cornec
Message:

manages scratchdir dynamically

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3.3/mondo/src/common/libmondo-tools.c

    r3833 r3834  
    743743        mr_asprintf(tmp, "/tmp/mondo.tmp.XXXXXX");
    744744    }
     745    mr_free(bkpinfo->tmpdir);
    745746    bkpinfo->tmpdir = mkdtemp(tmp);
    746747    if (bkpinfo->tmpdir == NULL) {
     
    756757
    757758    char *tmp = NULL;
    758     char *p = NULL;
    759759
    760760    if (bkpinfo->scratchdir != NULL) {
     
    786786        mr_asprintf(tmp, "/tmp/mondo.scratch.XXXXXX");
    787787    }
    788     p = mkdtemp(tmp);
    789     if (p == NULL) {
     788    mr_free(bkpinfo->scratchdir);
     789    bkpinfo->scratchdir = mkdtemp(tmp);
     790    if (bkpinfo->scratchdir == NULL) {
    790791        log_it("Failed to create global scratch directory %s for Mondo.",tmp);
     792        mr_free(tmp);
    791793        finish(-1);
    792794    }
    793     strcpy(bkpinfo->scratchdir,p);
    794795    log_it("bkpinfo->scratchdir is being set to %s", bkpinfo->scratchdir);
    795     paranoid_free(tmp);
    796 
    797     mr_asprintf(tmp, "mkdir -p %s", bkpinfo->scratchdir);
    798     paranoid_system(tmp);
    799     mr_free(tmp);
     796    mr_system("mkdir -p %s", bkpinfo->scratchdir);
    800797}
    801798
     
    828825   
    829826    /*  We need tmpdir as early as possible for further function calls */
    830     bkpinfo->tmpdir = NULL;         // Really setup after
    831     bkpinfo->scratchdir[0] = '\0';          // Really setup after
     827    bkpinfo->tmpdir = NULL;             // Really setup just after
     828    bkpinfo->scratchdir = NULL;         // Really setup just after
    832829    setup_tmpdir(NULL);
    833830    setup_scratchdir(NULL);
Note: See TracChangeset for help on using the changeset viewer.