Ignore:
Timestamp:
Mar 4, 2024, 5:33:57 PM (3 months ago)
Author:
Bruno Cornec
Message:

manages zip_exe and zip_suffix dynamically

File:
1 edited

Legend:

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

    r3828 r3830  
    281281        slice_num = last_slice_num + 1;
    282282    }
    283     while (does_file_exist(slice_fname(bigfile_num, slice_num, mountpoint, bkpinfo->zip_suffix))
    284            ||
    285            does_file_exist(slice_fname(bigfile_num, slice_num, mountpoint, ""))) {
     283    while (does_file_exist(slice_fname(bigfile_num, slice_num, mountpoint, bkpinfo->zip_suffix))) {
    286284        // handle slices until end of CD
    287285        if (slice_num == 0) {
     
    427425    if (strstr(tarball_fname, ".lzo") && strcmp(bkpinfo->zip_suffix, "lzo")) {
    428426        log_msg(2, "OK, I'm going to start using lzop.");
    429         strcpy(bkpinfo->zip_exe, "lzop");
    430         strcpy(bkpinfo->zip_suffix, "lzo");
     427        mr_free(bkpinfo->zip_exe);
     428        mr_free(bkpinfo->zip_suffix);
     429        mr_asprintf(bkpinfo->zip_exe, "%s", "lzop");
     430        mr_asprintf(bkpinfo->zip_suffix, "%s", "lzo");
    431431        bkpinfo->use_lzo = TRUE;
    432432        bkpinfo->use_gzip = FALSE;
     
    435435    if (strstr(tarball_fname, ".gz") && strcmp(bkpinfo->zip_suffix, "gz")) {
    436436        log_msg(2, "OK, I'm going to start using gzip.");
    437         strcpy(bkpinfo->zip_exe, "gzip");
    438         strcpy(bkpinfo->zip_suffix, "gz");
     437        mr_free(bkpinfo->zip_exe);
     438        mr_free(bkpinfo->zip_suffix);
     439        mr_asprintf(bkpinfo->zip_exe, "%s", "gzip");
     440        mr_asprintf(bkpinfo->zip_suffix, "%s", "gz");
    439441        bkpinfo->use_lzo = FALSE;
    440442        bkpinfo->use_gzip = TRUE;
     
    443445    if (strstr(tarball_fname, ".bz2") && strcmp(bkpinfo->zip_suffix, "bz2")) {
    444446        log_msg(2, "OK, I'm going to start using bzip2.");
    445         strcpy(bkpinfo->zip_exe, "bzip2");
    446         strcpy(bkpinfo->zip_suffix, "bz2");
     447        mr_free(bkpinfo->zip_exe);
     448        mr_free(bkpinfo->zip_suffix);
     449        mr_asprintf(bkpinfo->zip_exe, "%s", "bzip2");
     450        mr_asprintf(bkpinfo->zip_suffix, "%s", "bz2");
    447451        bkpinfo->use_lzo = FALSE;
    448452        bkpinfo->use_gzip = FALSE;
    449453        bkpinfo->use_lzma = FALSE;
    450454    }
    451     if (strstr(tarball_fname, ".lzma") && strcmp(bkpinfo->zip_suffix, "lzma")) {
     455    if (strstr(tarball_fname, ".xz") && strcmp(bkpinfo->zip_suffix, "xz")) {
    452456        log_msg(2, "OK, I'm going to start using lzma.");
    453         strcpy(bkpinfo->zip_exe, "lzma");
    454         strcpy(bkpinfo->zip_suffix, "lzma");
     457        mr_free(bkpinfo->zip_exe);
     458        mr_free(bkpinfo->zip_suffix);
     459        mr_asprintf(bkpinfo->zip_exe, "%s", "xz");
     460        mr_asprintf(bkpinfo->zip_suffix, "%s", "xz");
    455461        bkpinfo->use_lzo = FALSE;
    456462        bkpinfo->use_gzip = FALSE;
    457463        bkpinfo->use_lzma = TRUE;
    458464    }
    459     if (bkpinfo->zip_exe == NULL) {
    460         strcpy(bkpinfo->zip_exe, "none");
    461     }
     465    // As suffix is used even when no compression make it non-NULL
    462466    if (bkpinfo->zip_suffix == NULL) {
    463         strcpy(bkpinfo->zip_suffix, "");
     467        mr_asprintf(bkpinfo->zip_suffix, "%s", "");
    464468    }
    465469    unlink(outlog);
Note: See TracChangeset for help on using the changeset viewer.