Changeset 900 in MondoRescue for trunk/mondo/src/common/libmondo-tools.c


Ignore:
Timestamp:
Oct 24, 2006, 8:49:18 AM (18 years ago)
Author:
Bruno Cornec
Message:

Huge patch to introduce low level functions that will bw used everywhere (mr_free, mr_asprintf, ...)
Nearly linking now due to that.

File:
1 edited

Legend:

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

    r783 r900  
    2121#include <arpa/inet.h>
    2222#endif
     23#include "mr_mem.h"
    2324
    2425/*@unused@*/
     
    169170    char *tmp;
    170171
    171     asprintf(&tmp,
     172    mr_asprintf(&tmp,
    172173             "for i in `find /root /home -type d -name Desktop -maxdepth 2`; do \
    173174file=$i/.directory; if [ -f \"$file\" ] ; then mv -f $file $file.old ; \
     
    175176else { print $0;};}' $file.old  > $file ; fi ; done");
    176177    run_program_and_log_output(tmp, 5);
    177     paranoid_free(tmp);
     178    mr_free(tmp);
    178179}
    179180
     
    190191    char *home_sz = NULL;
    191192
    192     asprintf(&home_sz, MONDO_SHARE);
     193    mr_asprintf(&home_sz, MONDO_SHARE);
    193194    return (home_sz);
    194195}
     
    369370    if (bkpinfo->backup_media_type == tape) {
    370371        log_msg(1, "Bar");
    371         asprintf(&tmp, "mt -f %s status", bkpinfo->media_device);
     372        mr_asprintf(&tmp, "mt -f %s status", bkpinfo->media_device);
    372373        log_msg(1, "tmp = '%s'", tmp);
    373374        if (run_program_and_log_output(tmp, 3)) {
     
    375376                ("Unable to open tape device. If you haven't specified it with -d, do so. If you already have, check your parameter. I think it's wrong.");
    376377        }
    377         paranoid_free(tmp);
     378        mr_free(tmp);
    378379    }
    379380    make_hole_for_dir(bkpinfo->scratchdir);
     
    385386    run_program_and_log_output("cat /etc/*-release", 5);
    386387    run_program_and_log_output("cat /etc/*issue*", 5);
    387     asprintf(&g_tmpfs_mountpt, "%s/tmpfs", bkpinfo->tmpdir);
    388     asprintf(&command, "mkdir -p %s", g_tmpfs_mountpt);
     388    mr_asprintf(&g_tmpfs_mountpt, "%s/tmpfs", bkpinfo->tmpdir);
     389    mr_asprintf(&command, "mkdir -p %s", g_tmpfs_mountpt);
    389390    paranoid_system(command);
    390     paranoid_free(command);
     391    mr_free(command);
    391392    rdsiz_MB = PPCFG_RAMDISK_SIZE + g_tape_buffer_size_MB;
    392393#ifdef __FreeBSD__
     
    394395             ("vmstat | tail -1 | tr -s ' ' | cut -d' ' -f6");
    395396    avm += atol(tmp);
    396     paranoid_free(tmp);
     397    mr_free(tmp);
    397398    tmp = call_program_and_get_last_line_of_output
    398399             ("swapinfo | grep -v Device | tr -s ' ' | cut -d' ' -f4 | tr '\n' '+' | sed 's/+$//' | bc");
    399400    avm += atol(tmp);
    400     paranoid_free(tmp);
    401     asprintf(&command, "mdmfs -s %d%c md9 %s", rdsiz_MB, 'm',
     401    mr_free(tmp);
     402    mr_asprintf(&command, "mdmfs -s %d%c md9 %s", rdsiz_MB, 'm',
    402403             g_tmpfs_mountpt);
    403404#else
     
    405406             ("free | grep \":\" | tr -s ' ' '\t' | cut -f2 | head -n1");
    406407    avm += atol(tmp);
    407     paranoid_free(tmp);
    408     asprintf(&command, "mount /dev/shm -t tmpfs %s -o size=%d%c",
     408    mr_free(tmp);
     409    mr_asprintf(&command, "mount /dev/shm -t tmpfs %s -o size=%d%c",
    409410             g_tmpfs_mountpt, rdsiz_MB, 'm');
    410411    run_program_and_log_output("cat /proc/cpuinfo", 5);
     
    416417    if (avm / 1024 > rdsiz_MB * 3) {
    417418        if (run_program_and_log_output(command, 5)) {
    418             paranoid_free(g_tmpfs_mountpt);
     419            mr_free(g_tmpfs_mountpt);
    419420            log_it("Failed to mount tmpfs");
    420421        } else {
     
    422423        }
    423424    } else {
    424         paranoid_free(g_tmpfs_mountpt);
     425        mr_free(g_tmpfs_mountpt);
    425426        log_it("It doesn't seem you have enough swap to use tmpfs. Fine.");
    426427    }
    427     paranoid_free(command);
     428    mr_free(command);
    428429
    429430    if (bkpinfo->use_lzo) {
    430         paranoid_alloc(bkpinfo->zip_exe, "lzop");
    431         paranoid_alloc(bkpinfo->zip_suffix, "lzo");
     431        mr_allocstr(bkpinfo->zip_exe, "lzop");
     432        mr_allocstr(bkpinfo->zip_suffix, "lzo");
    432433    } else if (bkpinfo->compression_level != 0) {
    433         paranoid_alloc(bkpinfo->zip_exe, "bzip2");
    434         paranoid_alloc(bkpinfo->zip_suffix, "bz2");
     434        mr_allocstr(bkpinfo->zip_exe, "bzip2");
     435        mr_allocstr(bkpinfo->zip_suffix, "bz2");
    435436    } else {
    436437        bkpinfo->zip_exe = NULL;
     
    445446            fatal_error("Please install growisofs.");
    446447        }
    447         paranoid_free(tmp);
     448        mr_free(tmp);
    448449
    449450        if (bkpinfo->nonbootable_backup) {
    450             asprintf(&mondo_mkisofs_sz, MONDO_GROWISOFS_NONBOOT);
     451            mr_asprintf(&mondo_mkisofs_sz, MONDO_GROWISOFS_NONBOOT);
    451452        } else if
    452453#ifdef __FreeBSD__
     
    457458#ifdef __IA64__
    458459    {
    459         asprintf(&mondo_mkisofs_sz, MONDO_GROWISOFS_REGULAR_ELILO);
     460        mr_asprintf(&mondo_mkisofs_sz, MONDO_GROWISOFS_REGULAR_ELILO);
    460461    }
    461462#else
    462463    {
    463         asprintf(&mondo_mkisofs_sz, MONDO_GROWISOFS_REGULAR_LILO);
     464        mr_asprintf(&mondo_mkisofs_sz, MONDO_GROWISOFS_REGULAR_LILO);
    464465    }
    465466#endif
    466467        else
    467468        {
    468             asprintf(&mondo_mkisofs_sz, MONDO_GROWISOFS_REGULAR_SYSLINUX);
     469            mr_asprintf(&mondo_mkisofs_sz, MONDO_GROWISOFS_REGULAR_SYSLINUX);
    469470        }
    470471        if (bkpinfo->manual_cd_tray) {
     
    472473            // -m isn't supported by growisofs, BTW...
    473474        } else {
    474             asprintf(&bkpinfo->call_make_iso,
     475            mr_asprintf(&bkpinfo->call_make_iso,
    475476                    "%s %s -Z %s . 2>> _ERR_",
    476477                    mondo_mkisofs_sz, "", bkpinfo->media_device);
    477478        }
    478         paranoid_free(mondo_mkisofs_sz);
     479        mr_free(mondo_mkisofs_sz);
    479480
    480481        if (getenv ("SUDO_COMMAND")) {
    481             asprintf(&command, "strings `which growisofs` | grep -c SUDO_COMMAND");
     482            mr_asprintf(&command, "strings `which growisofs` | grep -c SUDO_COMMAND");
    482483            tmp = call_program_and_get_last_line_of_output(command);
    483484            if (!strcmp(tmp, "1")) {
     
    485486                fatal_error("Can't write DVDs as sudo because growisofs doesn't support this - see the growisofs manpage for details.");
    486487            }       
    487             paranoid_free(tmp);
    488             paranoid_free(command);
     488            mr_free(tmp);
     489            mr_free(command);
    489490        }
    490491        log_msg(2, "call_make_iso (DVD res) is ... %s",
     
    496497        || bkpinfo->backup_media_type == cdr) {
    497498        if (!bkpinfo->manual_cd_tray) {
    498             asprintf(&extra_cdrom_params, "-waiti ");
     499            mr_asprintf(&extra_cdrom_params, "-waiti ");
    499500        }
    500501        if (bkpinfo->backup_media_type == cdrw) {
    501502            if (extra_cdrom_params != NULL) {
    502                 asprintf(&tmp, extra_cdrom_params);
    503                 paranoid_free(extra_cdrom_params);
    504                 asprintf(&extra_cdrom_params, "%s blank=fast ", tmp);
     503                mr_asprintf(&tmp, extra_cdrom_params);
     504                mr_free(extra_cdrom_params);
     505                mr_asprintf(&extra_cdrom_params, "%s blank=fast ", tmp);
    505506            } else {
    506                 asprintf(&extra_cdrom_params, "blank=fast ");
     507                mr_asprintf(&extra_cdrom_params, "blank=fast ");
    507508            }
    508509        }
     
    510511        tmp1 = find_home_of_exe("dvdrecord");
    511512        if (tmp) {
    512             asprintf(&cdr_exe, "cdrecord");
     513            mr_asprintf(&cdr_exe, "cdrecord");
    513514        } else if (tmp1) {
    514             asprintf(&cdr_exe, "dvdrecord");
     515            mr_asprintf(&cdr_exe, "dvdrecord");
    515516        } else {
    516517            fatal_error("Please install either cdrecord or dvdrecord.");
    517518        }
    518         paranoid_free(tmp);
    519         paranoid_free(tmp1);
     519        mr_free(tmp);
     520        mr_free(tmp1);
    520521
    521522        if (bkpinfo->nonbootable_backup) {
    522             asprintf(&mondo_mkisofs_sz, "%s -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL_Version -V _CD#_", bkpinfo->mr_conf->mondo_iso_creation_cmd);
     523            mr_asprintf(&mondo_mkisofs_sz, "%s -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL_Version -V _CD#_", bkpinfo->mr_conf->mondo_iso_creation_cmd);
    523524        } else if
    524525#ifdef __FreeBSD__
     
    529530#ifdef __IA64__
    530531    {
    531         asprintf(&mondo_mkisofs_sz, MONDO_MKISOFS_REGULAR_ELILO);
     532        mr_asprintf(&mondo_mkisofs_sz, MONDO_MKISOFS_REGULAR_ELILO);
    532533    }
    533534#else
    534535    {
    535         asprintf(&mondo_mkisofs_sz, MONDO_MKISOFS_REGULAR_LILO);
     536        mr_asprintf(&mondo_mkisofs_sz, MONDO_MKISOFS_REGULAR_LILO);
    536537    }
    537538#endif
    538539        else
    539540        {
    540             asprintf(&mondo_mkisofs_sz, MONDO_MKISOFS_REGULAR_SYSLINUX);
     541            mr_asprintf(&mondo_mkisofs_sz, MONDO_MKISOFS_REGULAR_SYSLINUX);
    541542        }
    542543        if (bkpinfo->manual_cd_tray) {
    543544            if (bkpinfo->call_before_iso == NULL) {
    544                 asprintf(&bkpinfo->call_before_iso,
     545                mr_asprintf(&bkpinfo->call_before_iso,
    545546                        "%s -o %s/temporary.iso . 2>> _ERR_",
    546547                        mondo_mkisofs_sz, bkpinfo->tmpdir);
    547548            } else {
    548                 asprintf(&call_before_iso_user, bkpinfo->call_before_iso);
    549                 asprintf(&bkpinfo->call_before_iso,
     549                mr_asprintf(&call_before_iso_user, bkpinfo->call_before_iso);
     550                mr_asprintf(&bkpinfo->call_before_iso,
    550551                                    "( %s -o %s/temporary.iso . 2>> _ERR_ ; %s )",
    551552                        mondo_mkisofs_sz, bkpinfo->tmpdir, call_before_iso_user);
    552                 paranoid_free(call_before_iso_user);
     553                mr_free(call_before_iso_user);
    553554            }
    554555            log_it("bkpinfo->call_before_iso = %s", bkpinfo->call_before_iso);
    555             asprintf(&bkpinfo->call_make_iso,
     556            mr_asprintf(&bkpinfo->call_make_iso,
    556557                    "%s %s -v %s fs=4m dev=%s speed=%d %s/temporary.iso",
    557558                    cdr_exe, (bkpinfo->please_dont_eject) ? " " : "-eject",
     
    559560                    bkpinfo->cdrw_speed, bkpinfo->tmpdir);
    560561        } else {
    561             asprintf(&bkpinfo->call_make_iso,
     562            mr_asprintf(&bkpinfo->call_make_iso,
    562563                    "%s . 2>> _ERR_ | %s %s %s fs=4m dev=%s speed=%d -",
    563564                    mondo_mkisofs_sz, cdr_exe,
     
    566567                    bkpinfo->cdrw_speed);
    567568        }
    568         paranoid_free(mondo_mkisofs_sz);
    569         paranoid_free(cdr_exe);
    570         paranoid_free(extra_cdrom_params);
     569        mr_free(mondo_mkisofs_sz);
     570        mr_free(cdr_exe);
     571        mr_free(extra_cdrom_params);
    571572    }                           // end of CD code
    572573
     
    581582
    582583        log_it("isodir = %s", bkpinfo->isodir);
    583         asprintf(&command, "df -P %s | tail -n1 | cut -d' ' -f1",
     584        mr_asprintf(&command, "df -P %s | tail -n1 | cut -d' ' -f1",
    584585                 bkpinfo->isodir);
    585586        log_it("command = %s", command);
    586587        tmp = call_program_and_get_last_line_of_output(command);
    587         paranoid_free(command);
     588        mr_free(command);
    588589        log_it("res of it = %s", tmp);
    589         asprintf(&tmp1, "%s/ISO-DEV", bkpinfo->tmpdir);
     590        mr_asprintf(&tmp1, "%s/ISO-DEV", bkpinfo->tmpdir);
    590591        write_one_liner_data_file(tmp1, tmp);
    591         paranoid_free(tmp1);
    592 
    593         asprintf(&command, "mount | grep -w %s | tail -n1 | cut -d' ' -f3",
     592        mr_free(tmp1);
     593
     594        mr_asprintf(&command, "mount | grep -w %s | tail -n1 | cut -d' ' -f3",
    594595                 tmp);
    595         paranoid_free(tmp);
     596        mr_free(tmp);
    596597        log_it("command = %s", command);
    597598        tmp = call_program_and_get_last_line_of_output(command);
    598         paranoid_free(command);
     599        mr_free(command);
    599600        log_it("res of it = %s", tmp);
    600601
    601         asprintf(&tmp1, "%s/ISO-MNT", bkpinfo->tmpdir);
     602        mr_asprintf(&tmp1, "%s/ISO-MNT", bkpinfo->tmpdir);
    602603        write_one_liner_data_file(tmp1, tmp);
    603         paranoid_free(tmp1);
     604        mr_free(tmp1);
    604605
    605606        log_it("isomnt: %s, %d", tmp, strlen(tmp));
    606607        if (strlen(bkpinfo->isodir) < strlen(tmp)) {
    607             asprintf(&iso_path, " ");
     608            mr_asprintf(&iso_path, " ");
    608609        } else {
    609             asprintf(&iso_path, "%s", bkpinfo->isodir + strlen(tmp));
    610         }
    611         paranoid_free(tmp);
    612 
    613         asprintf(&tmp, "%s/ISODIR", bkpinfo->tmpdir);
     610            mr_asprintf(&iso_path, "%s", bkpinfo->isodir + strlen(tmp));
     611        }
     612        mr_free(tmp);
     613
     614        mr_asprintf(&tmp, "%s/ISODIR", bkpinfo->tmpdir);
    614615        write_one_liner_data_file(tmp, iso_path);
    615         paranoid_free(tmp);
     616        mr_free(tmp);
    616617        log_it("isodir: %s", iso_path);
    617         paranoid_free(iso_path);
    618         asprintf(&tmp, "%s/ISO-PREFIX", bkpinfo->tmpdir);
     618        mr_free(iso_path);
     619        mr_asprintf(&tmp, "%s/ISO-PREFIX", bkpinfo->tmpdir);
    619620        write_one_liner_data_file(tmp, bkpinfo->prefix);
    620621        log_it("iso-prefix: %s",  bkpinfo->prefix);
    621         paranoid_free(tmp);
     622        mr_free(tmp);
    622623/* End patch */
    623624    }                           // end of iso code
    624625
    625626    if (bkpinfo->backup_media_type == nfs) {
    626         asprintf(&hostname, bkpinfo->nfs_mount);
     627        mr_asprintf(&hostname, bkpinfo->nfs_mount);
    627628        colon = strchr(hostname, ':');
    628629        if (!colon) {
     
    639640                retval++;
    640641            } else {
    641                 asprintf(&ip_address, "%s%s", inet_ntoa((struct in_addr)
     642                mr_asprintf(&ip_address, "%s%s", inet_ntoa((struct in_addr)
    642643                                                        *((struct in_addr
    643644                                                           *) hent->
    644645                                                          h_addr)),
    645646                         strchr(bkpinfo->nfs_mount, ':'));
    646                 paranoid_alloc(bkpinfo->nfs_mount, ip_address);
    647                 paranoid_free(ip_address);
     647                mr_allocstr(bkpinfo->nfs_mount, ip_address);
     648                mr_free(ip_address);
    648649            }
    649650        }
    650651        store_nfs_config(bkpinfo);
    651         paranoid_free(hostname);
     652        mr_free(hostname);
    652653    }
    653654
     
    656657        fprintf(stderr, "Type 'man mondoarchive' for help.\n");
    657658    }
    658     asprintf(&tmp, "%s", MONDO_TMPISOS);
     659    mr_asprintf(&tmp, "%s", MONDO_TMPISOS);
    659660    if (does_file_exist(tmp)) {
    660661        unlink(tmp);
    661662    }
    662     paranoid_free(tmp);
     663    mr_free(tmp);
    663664
    664665    if (strlen(bkpinfo->tmpdir) < 2 || strlen(bkpinfo->scratchdir) < 2) {
     
    668669    if (bkpinfo->include_paths == NULL) {
    669670        //      fatal_error ("Why no backup path?");
    670         asprintf(&bkpinfo->include_paths, "/");
     671        mr_asprintf(&bkpinfo->include_paths, "/");
    671672    }
    672673    chmod(bkpinfo->scratchdir, 0700);
    673674    chmod(bkpinfo->tmpdir, 0700);
    674675    g_backup_media_type = bkpinfo->backup_media_type;
    675     paranoid_alloc(g_backup_media_string,bkpinfo->backup_media_string);
     676    mr_allocstr(g_backup_media_string,bkpinfo->backup_media_string);
    676677    return (retval);
    677678}
     
    716717    g_current_media_number = 1;
    717718    bkpinfo->postnuke_tarball = NULL;
    718     paranoid_free(bkpinfo->nfs_mount);
     719    mr_free(bkpinfo->nfs_mount);
    719720    return (res);
    720721}
     
    746747    }
    747748
    748     paranoid_free(bkpinfo->media_device);
    749     paranoid_free(bkpinfo->boot_device);
    750     paranoid_free(bkpinfo->zip_exe);
    751     paranoid_free(bkpinfo->zip_suffix);
    752     paranoid_free(bkpinfo->restore_path);
     749    mr_free(bkpinfo->media_device);
     750    mr_free(bkpinfo->boot_device);
     751    mr_free(bkpinfo->zip_exe);
     752    mr_free(bkpinfo->zip_suffix);
     753    mr_free(bkpinfo->restore_path);
    753754    bkpinfo->use_lzo = FALSE;
    754755    bkpinfo->verify_data = FALSE;
     
    758759        (am_I_in_disaster_recovery_mode()? TRUE : FALSE);
    759760    if (bkpinfo->disaster_recovery) {
    760         paranoid_alloc(bkpinfo->isodir, "/");
     761        mr_allocstr(bkpinfo->isodir, "/");
    761762    } else {
    762         paranoid_alloc(bkpinfo->isodir, "/var/cache/mondo/iso");
    763     }
    764     paranoid_alloc(bkpinfo->prefix, STD_PREFIX);
    765 
    766     paranoid_free(bkpinfo->scratchdir);
     763        mr_allocstr(bkpinfo->isodir, "/var/cache/mondo/iso");
     764    }
     765    mr_allocstr(bkpinfo->prefix, STD_PREFIX);
     766
     767    mr_free(bkpinfo->scratchdir);
    767768    bkpinfo->make_filelist = TRUE;  // unless -J supplied to mondoarchive
    768     paranoid_free(bkpinfo->tmpdir);
    769     asprintf(&bkpinfo->tmpdir, "/tmp/tmpfs/mondo.tmp.%d", (int) (random() % 32768));    // for mondorestore
     769    mr_free(bkpinfo->tmpdir);
     770    mr_asprintf(&bkpinfo->tmpdir, "/tmp/tmpfs/mondo.tmp.%d", (int) (random() % 32768)); // for mondorestore
    770771    bkpinfo->optimal_set_size = 0;
    771772    bkpinfo->backup_media_type = none;
    772     paranoid_free(bkpinfo->backup_media_string);
    773     paranoid_alloc(bkpinfo->include_paths, "/");
    774     paranoid_free(bkpinfo->exclude_paths);
    775     paranoid_free(bkpinfo->call_before_iso);
    776     paranoid_free(bkpinfo->call_make_iso);
    777     paranoid_free(bkpinfo->call_burn_iso);
    778     paranoid_free(bkpinfo->call_after_iso);
    779     paranoid_free(bkpinfo->image_devs);
    780     paranoid_free(bkpinfo->postnuke_tarball);
    781     paranoid_free(bkpinfo->kernel_path);
    782     paranoid_free(bkpinfo->nfs_mount);
    783     paranoid_free(bkpinfo->nfs_remote_dir);
     773    mr_free(bkpinfo->backup_media_string);
     774    mr_allocstr(bkpinfo->include_paths, "/");
     775    mr_free(bkpinfo->exclude_paths);
     776    mr_free(bkpinfo->call_before_iso);
     777    mr_free(bkpinfo->call_make_iso);
     778    mr_free(bkpinfo->call_burn_iso);
     779    mr_free(bkpinfo->call_after_iso);
     780    mr_free(bkpinfo->image_devs);
     781    mr_free(bkpinfo->postnuke_tarball);
     782    mr_free(bkpinfo->kernel_path);
     783    mr_free(bkpinfo->nfs_mount);
     784    mr_free(bkpinfo->nfs_remote_dir);
    784785    bkpinfo->wipe_media_first = FALSE;
    785786    bkpinfo->differential = FALSE;
     
    805806    assert_string_is_neither_NULL_nor_zerolength(partition);
    806807
    807     asprintf(&command, "df -m -P %s &> /dev/null", partition);
     808    mr_asprintf(&command, "df -m -P %s &> /dev/null", partition);
    808809    if (system(command)) {
    809810        return (-1);
    810811    }                           // partition does not exist
    811     paranoid_free(command);
    812 
    813     asprintf(&command, "df -m -P %s | tail -n1 | tr -s ' ' '\t' | cut -f4",
     812    mr_free(command);
     813
     814    mr_asprintf(&command, "df -m -P %s | tail -n1 | tr -s ' ' '\t' | cut -f4",
    814815             partition);
    815816    out_sz = call_program_and_get_last_line_of_output(command);
    816     paranoid_free(command);
     817    mr_free(command);
    817818    if (strlen(out_sz) == 0) {
    818819        return (-1);
    819820    }                           // error within df, probably
    820821    res = atol(out_sz);
    821     paranoid_free(out_sz);
     822    mr_free(out_sz);
    822823    return (res);
    823824}
     
    868869            (_("WARNING! You have very little RAM. Please upgrade to 64MB or more."));
    869870    }
    870     paranoid_free(tmp);
     871    mr_free(tmp);
    871872#endif
    872873
     
    929930            log_to_screen(_("Please install ms-sys just in case."));
    930931        }
    931         paranoid_free(tmp);
     932        mr_free(tmp);
    932933#endif
    933934    }
     
    937938        whine_if_not_found("cmp");
    938939    }
    939     paranoid_free(tmp);
     940    mr_free(tmp);
    940941
    941942    run_program_and_log_output
     
    958959        }
    959960    }
    960     paranoid_free(tmp);
     961    mr_free(tmp);
    961962#ifndef __FreeBSD__
    962963    if (!does_file_exist("/etc/modules.conf")) {
     
    10411042
    10421043    if (!does_file_exist(config_file)) {
    1043         asprintf(&tmp, "(read_cfg_var) Cannot find %s config file",
     1044        mr_asprintf(&tmp, "(read_cfg_var) Cannot find %s config file",
    10441045                 config_file);
    10451046        log_to_screen(tmp);
    1046         paranoid_free(tmp);
     1047        mr_free(tmp);
    10471048        value = NULL;
    10481049        return (1);
     
    10541055        return (0);
    10551056    */ } else {
    1056         asprintf(&command, "grep '%s .*' %s| cut -d' ' -f2,3,4,5",
     1057        mr_asprintf(&command, "grep '%s .*' %s| cut -d' ' -f2,3,4,5",
    10571058                label, config_file);
    10581059        value = call_program_and_get_last_line_of_output(command);
    1059         paranoid_free(command);
     1060        mr_free(command);
    10601061        if (strlen(value) == 0) {
    10611062            return (1);
     
    11081109    log_msg(1, "Started sub");
    11091110    log_msg(4, "Setting command to something");
    1110     asprintf(&command,
     1111    mr_asprintf(&command,
    11111112             "grep -v \":\" /etc/fstab | grep -vx \"#.*\" | grep -w \"/boot\" | tr -s ' ' '\t' | cut -f1 | head -n1");
    11121113    log_msg(4, "Cool. Command = '%s'", command);
    11131114    tmp = call_program_and_get_last_line_of_output(command);
    1114     paranoid_free(command);
     1115    mr_free(command);
    11151116
    11161117    log_msg(4, "tmp = '%s'", tmp);
     
    11191120        if (strstr(tmp, "LABEL=")) {
    11201121            if (!run_program_and_log_output("mount /boot", 5)) {
    1121                 paranoid_free(g_boot_mountpt);
    1122                 asprintf(&g_boot_mountpt, "/boot");
     1122                mr_free(g_boot_mountpt);
     1123                mr_asprintf(&g_boot_mountpt, "/boot");
    11231124                log_msg(1, "Mounted /boot");
    11241125            } else {
     
    11261127            }
    11271128        } else {
    1128             asprintf(&command, "mount | grep -w \"%s\"", tmp);
     1129            mr_asprintf(&command, "mount | grep -w \"%s\"", tmp);
    11291130            log_msg(3, "command = %s", command);
    11301131            if (run_program_and_log_output(command, 5)) {
    1131                 paranoid_free(g_boot_mountpt);
    1132                 asprintf(&g_boot_mountpt, tmp);
    1133                 asprintf(&tmp1,
     1132                mr_free(g_boot_mountpt);
     1133                mr_asprintf(&g_boot_mountpt, tmp);
     1134                mr_asprintf(&tmp1,
    11341135                         "%s (your /boot partition) is not mounted. I'll mount it before backing up",
    11351136                         g_boot_mountpt);
    11361137                log_it(tmp1);
    1137                 paranoid_free(tmp1);
    1138 
    1139                 asprintf(&tmp1, "mount %s", g_boot_mountpt);
     1138                mr_free(tmp1);
     1139
     1140                mr_asprintf(&tmp1, "mount %s", g_boot_mountpt);
    11401141                if (run_program_and_log_output(tmp1, 5)) {
    11411142                    /* BERLIOS: Useless ???
    1142                     paranoid_free(g_boot_mountpt);
    1143                     asprintf(&g_boot_mountpt, " ");
     1143                    mr_free(g_boot_mountpt);
     1144                    mr_asprintf(&g_boot_mountpt, " ");
    11441145                    */
    11451146                    log_msg(1, "Plan B");
    11461147                    if (!run_program_and_log_output("mount /boot", 5)) {
    1147                         paranoid_free(g_boot_mountpt);
    1148                         asprintf(&g_boot_mountpt, "/boot");
     1148                        mr_free(g_boot_mountpt);
     1149                        mr_asprintf(&g_boot_mountpt, "/boot");
    11491150                        log_msg(1, "Plan B worked");
    11501151                    } else {
     
    11531154                    }
    11541155                }
    1155                 paranoid_free(tmp1);
     1156                mr_free(tmp1);
    11561157            }
    1157             paranoid_free(command);
    1158         }
    1159     }
    1160     paranoid_free(tmp);
     1158            mr_free(command);
     1159        }
     1160    }
     1161    mr_free(tmp);
    11611162    log_msg(1, "Ended sub");
    11621163}
     
    11721173    log_msg(3, "starting");
    11731174    if (g_boot_mountpt != NULL) {
    1174         asprintf(&tmp, "umount %s", g_boot_mountpt);
     1175        mr_asprintf(&tmp, "umount %s", g_boot_mountpt);
    11751176        if (run_program_and_log_output(tmp, 5)) {
    11761177            log_it("WARNING - unable to unmount /boot");
    11771178        }
    1178         paranoid_free(tmp);
     1179        mr_free(tmp);
    11791180    }
    11801181    log_msg(3, "leaving");
     
    12051206
    12061207    if (!does_file_exist(config_file)) {
    1207         asprintf(&tmp, "(write_cfg_file) Cannot find %s config file",
     1208        mr_asprintf(&tmp, "(write_cfg_file) Cannot find %s config file",
    12081209                 config_file);
    12091210        log_to_screen(tmp);
    1210         paranoid_free(tmp);
     1211        mr_free(tmp);
    12111212        return (1);
    12121213    }
     
    12141215             ("mktemp -q /tmp/mojo-jojo.blah.XXXXXX");
    12151216    if (does_file_exist(config_file)) {
    1216         asprintf(&command, "grep -vx '%s .*' %s > %s",
     1217        mr_asprintf(&command, "grep -vx '%s .*' %s > %s",
    12171218                label, config_file, tempfile);
    12181219        paranoid_system(command);
    1219         paranoid_free(command);
    1220     }
    1221     asprintf(&command, "echo \"%s %s\" >> %s", label, value, tempfile);
     1220        mr_free(command);
     1221    }
     1222    mr_asprintf(&command, "echo \"%s %s\" >> %s", label, value, tempfile);
    12221223    paranoid_system(command);
    1223     paranoid_free(command);
    1224 
    1225     asprintf(&command, "mv -f %s %s", tempfile, config_file);
     1224    mr_free(command);
     1225
     1226    mr_asprintf(&command, "mv -f %s %s", tempfile, config_file);
    12261227    paranoid_system(command);
    1227     paranoid_free(command);
     1228    mr_free(command);
    12281229    unlink(tempfile);
    1229     paranoid_free(tempfile);
     1230    mr_free(tempfile);
    12301231    return (0);
    12311232}
     
    12431244    } else {
    12441245        iamhere("Freeing globals");
    1245         paranoid_free(g_boot_mountpt);
    1246         paranoid_free(g_mondo_home);
    1247         paranoid_free(g_tmpfs_mountpt);
    1248         paranoid_free(g_erase_tmpdir_and_scratchdir);
    1249         paranoid_free(g_serial_string);
    1250         paranoid_free(g_magicdev_command);
     1246        mr_free(g_boot_mountpt);
     1247        mr_free(g_mondo_home);
     1248        mr_free(g_tmpfs_mountpt);
     1249        mr_free(g_erase_tmpdir_and_scratchdir);
     1250        mr_free(g_serial_string);
     1251        mr_free(g_magicdev_command);
    12511252    }
    12521253}
     
    12951296
    12961297    if (!g_magicdev_command) {
    1297         asprintf(&tmp, "%s &", g_magicdev_command);
     1298        mr_asprintf(&tmp, "%s &", g_magicdev_command);
    12981299        paranoid_system(tmp);
    1299         paranoid_free(tmp);
     1300        mr_free(tmp);
    13001301    }
    13011302}
Note: See TracChangeset for help on using the changeset viewer.