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


Ignore:
Timestamp:
Mar 5, 2024, 2:50:53 AM (4 months ago)
Author:
Bruno Cornec
Message:

manages isodir dynamically

File:
1 edited

Legend:

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

    r3835 r3836  
    408408
    409409    if (flag_set['n']) {
    410         mr_free(bkpinfo->netfs_mount);
    411410        mr_asprintf(bkpinfo->netfs_mount, "%s", flag_val['n']);
    412411        if (!flag_set['d']) {
    413             mr_free(bkpinfo->netfs_remote_dir);
    414412            mr_asprintf(bkpinfo->netfs_remote_dir, "/");
    415             strncpy(bkpinfo->isodir, ".", MAX_STR_LEN / 4);
     413            mr_asprintf(bkpinfo->isodir, "%s", ".");
    416414        }
    417415        /* test for protocol */
     
    466464            mr_asprintf(tmp1, "mount | grep -E \"^[a-z]*#*%s[/]* .*\" | cut -d' ' -f3", bkpinfo->netfs_mount);
    467465        }
    468         tmp2 = call_program_and_get_last_line_of_output(tmp1);
     466        mr_free(bkpinfo->isodir);
     467        bkpinfo->isodir = call_program_and_get_last_line_of_output(tmp1);
    469468        mr_free(tmp1);
    470         strncpy(bkpinfo->isodir, tmp2, (MAX_STR_LEN / 4)-1);
    471         mr_free(tmp2);
    472469
    473470        log_msg(3, "proto = %s", bkpinfo->netfs_proto);
     
    515512                    mr_asprintf(tmp1, "mount | grep -E \"^%s[/]* .*\" | cut -d' ' -f3", bkpinfo->netfs_mount);
    516513                }
    517                 tmp2 = call_program_and_get_last_line_of_output(tmp1);
    518                 strncpy(bkpinfo->isodir, tmp2,(MAX_STR_LEN / 4)-1);
    519                 mr_free(tmp2);
     514                mr_free(bkpinfo->isodir);
     515                bkpinfo->isodir = call_program_and_get_last_line_of_output(tmp1);
    520516                if (strlen(bkpinfo->isodir) < 3) {
    521517                    retval++;
     
    688684    if (flag_set['d']) {        /* backup directory (if ISO/NETFS) */
    689685        if (flag_set['i']) {
    690             strncpy(bkpinfo->isodir, flag_val['d'],(MAX_STR_LEN / 4)-1);
     686            mr_asprintf(bkpinfo->isodir, "%s", flag_val['d']);
    691687            sprintf(tmp, "ls -l %s", bkpinfo->isodir);
    692688            if (run_program_and_log_output(tmp, 2)) {
Note: See TracChangeset for help on using the changeset viewer.