Changeset 3881 in MondoRescue for branches/3.3/mondo/src/common/libmondo-cli.c


Ignore:
Timestamp:
Mar 9, 2024, 3:31:21 PM (4 months ago)
Author:
Bruno Cornec
Message:

-c means now optical backup for CD/DVD. Removed dvd special mode -r

File:
1 edited

Legend:

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

    r3880 r3881  
    204204    /* compulsory */
    205205    i = flag_set['c'] + flag_set['i'] + flag_set['n'] +
    206         flag_set['t'] + flag_set['u'] + flag_set['r'] +
    207         flag_set['C'] + flag_set['U'];
     206        flag_set['t'] + flag_set['u'] + flag_set['U'];
    208207    if ((i == 0) && (! bkpinfo->restore_data)) {
    209208        retval++;
     
    325324    }
    326325
    327     if ((flag_set['c'] || flag_set['C'] || flag_set['r']) && (! bkpinfo->restore_data)) {
     326    if (flag_set['c'] && (! bkpinfo->restore_data)) {
    328327        if (system("which cdrecord > /dev/null 2> /dev/null") && system("which dvdrecord > /dev/null 2> /dev/null")) {
    329328            fatal_error("Please install dvdrecord/cdrecord and try again.");
    330         }
    331         if (flag_set['C']) {
    332             bkpinfo->cdrw_speed = atoi(flag_val['C']);
    333             if (bkpinfo->cdrw_speed < 1) {
    334                 fatal_error("You specified a silly speed for a CD-R[W] drive");
    335             }
    336             if (!flag_set['L']) {
    337                 log_to_screen("You must use -L with -C. Therefore I am setting it for you.");
    338                 flag_set['L'] = 1;
    339                 flag_val['L'][0] = '\0';
    340             }
    341329        } else {
    342330            log_msg(3, "flag_val['c'] = %s", flag_val['c']);
    343331            if (flag_set['c']) {
    344332                bkpinfo->cdrw_speed = atoi(flag_val['c']);
    345             } else if (flag_set['r']) {
    346                 bkpinfo->cdrw_speed = 1;    /*atoi(flag_val['r']); */
    347             }
    348 
    349             if (bkpinfo->cdrw_speed < 1) {
    350                 fatal_error("You specified a silly speed for a CD-R[W] drive");
     333            }
     334        }
     335        if (!flag_set['d']) {
     336            if ((bkpinfo->media_device = find_optical_device()) != NULL) {
     337                flag_set['d'] = TRUE;
     338                log_to_screen("I guess optical drive is at %s", bkpinfo->media_device);
     339            }   
     340        }
     341
     342        if (! bkpinfo->restore_data) {
     343            if (!flag_set['s']) {
     344                sprintf(flag_val['s'], "%d", DEFAULT_DVD_DISK_SIZE);    // 4.7 salesman's GB = 4.482 real GB = 4582 MB
     345                strcat(flag_val['s'], "m");
     346                log_to_screen("You did not specify a size (-s) for your media. I'm guessing %s.", flag_val['s']);
     347                flag_set['s'] = 1;
    351348            }
    352349        }
     
    369366        if ((!flag_set['s']) && (! bkpinfo->restore_data)) {
    370367            fatal_error("You did not specify a size (-s) for your USB device. Aborting");
    371         }
    372     }
    373 
    374     if (flag_set['r'])          // DVD
    375     {
    376         if (flag_set['m']) {
    377             fatal_error("Manual CD tray (-m) not yet supported in conjunction w/ DVD drives. Drop -m.");
    378         }
    379         if (!flag_set['d']) {
    380             if ((bkpinfo->media_device = find_optical_device()) != NULL) {
    381                 flag_set['d'] = TRUE;
    382                 log_to_screen("I guess DVD drive is at %s", bkpinfo->media_device);
    383             }
    384         }
    385         if (strchr(bkpinfo->media_device, ',')) {
    386             fatal_error("Please don't give a SCSI node. Give a _device_, preferably a /dev entry, for the parameter of the -d flag.");
    387         }
    388         if (! bkpinfo->restore_data) {
    389             if (!flag_set['s']) {
    390                 sprintf(flag_val['s'], "%d", DEFAULT_DVD_DISK_SIZE);    // 4.7 salesman's GB = 4.482 real GB = 4582 MB
    391                 strcat(flag_val['s'], "m");
    392                 log_to_screen("You did not specify a size (-s) for DVD. I'm guessing %s.", flag_val['s']);
    393                 flag_set['s'] = 1;
    394             }
    395368        }
    396369    }
     
    542515
    543516    if (flag_set['c']) {
    544         bkpinfo->backup_media_type = cdr;
     517        bkpinfo->backup_media_type = optical;
    545518    }
    546519    if (flag_set['C']) {
     
    554527        /* Never try to eject a Network device */
    555528        bkpinfo->please_dont_eject = TRUE;
    556     }
    557     if (flag_set['r']) {
    558         bkpinfo->backup_media_type = dvd;
    559529    }
    560530    if (flag_set['t']) {
Note: See TracChangeset for help on using the changeset viewer.