Changeset 2383 in MondoRescue for branches/2.2.10/mondo/src/common


Ignore:
Timestamp:
Sep 10, 2009, 2:55:51 AM (16 years ago)
Author:
Bruno Cornec
Message:

call_program_and_get_last_line_of_output is now allocating memory and returning that string

Location:
branches/2.2.10/mondo/src/common
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.10/mondo/src/common/libmondo-archive.c

    r2382 r2383  
    539539    if (bkpinfo->exclude_paths) {
    540540        mr_asprintf(tmp, "echo '%s' | tr -s ' ' '\n' | grep -E '^/dev/.*$' | tr -s '\n' ' ' | awk '{print $0\"\\n\";}'", bkpinfo->exclude_paths);
    541         mr_asprintf(devs_to_exclude, "%s", call_program_and_get_last_line_of_output(tmp));
     541        devs_to_exclude = call_program_and_get_last_line_of_output(tmp);
    542542        mr_free(tmp);
    543543
     
    626626
    627627#ifdef __FreeBSD__
    628         mr_asprintf(bootdev, "%s", call_program_and_get_last_line_of_output("mount | grep ' /boot ' | head -1 | cut -d' ' -f1 | sed 's/\\([0-9]\\).*/\\1/'"));
     628        bootdev = call_program_and_get_last_line_of_output("mount | grep ' /boot ' | head -1 | cut -d' ' -f1 | sed 's/\\([0-9]\\).*/\\1/'");
    629629        if (!bootdev[0]) {
    630630            mr_free(bootdev);
    631             mr_asprintf(bootdev, "%s", call_program_and_get_last_line_of_output("mount | grep ' / ' | head -1 | cut -d' ' -f1 | sed 's/\\([0-9]\\).*/\\1/'"));
     631            bootdev = call_program_and_get_last_line_of_output("mount | grep ' / ' | head -1 | cut -d' ' -f1 | sed 's/\\([0-9]\\).*/\\1/'");
    632632        }
    633633#else
    634634        /* Linux */
    635635#ifdef __IA64__
    636         mr_asprintf(bootdev, "%s", call_program_and_get_last_line_of_output("mount | grep ' /boot/efi ' | head -1 | cut -d' ' -f1 | sed 's/[0-9].*//'"));
     636        bootdev = call_program_and_get_last_line_of_output("mount | grep ' /boot/efi ' | head -1 | cut -d' ' -f1 | sed 's/[0-9].*//'");
    637637#else
    638         mr_asprintf(bootdev, "%s", call_program_and_get_last_line_of_output("mount | grep ' /boot ' | head -1 | cut -d' ' -f1 | sed 's/[0-9].*//'"));
     638        bootdev = call_program_and_get_last_line_of_output("mount | grep ' /boot ' | head -1 | cut -d' ' -f1 | sed 's/[0-9].*//'");
    639639#endif
    640640        if (strstr(bootdev, "/dev/cciss/")) {
    641641            mr_free(bootdev);
    642642#ifdef __IA64__
    643             mr_asprintf(bootdev, "%s", call_program_and_get_last_line_of_output("mount | grep ' /boot/efi ' | head -1 | cut -d' ' -f1 | cut -dp -f1"));
     643            bootdev = call_program_and_get_last_line_of_output("mount | grep ' /boot/efi ' | head -1 | cut -d' ' -f1 | cut -dp -f1");
    644644#else
    645             mr_asprintf(bootdev, "%s", call_program_and_get_last_line_of_output("mount | grep ' /boot ' | head -1 | cut -d' ' -f1 | cut -dp -f1"));
     645            bootdev = call_program_and_get_last_line_of_output("mount | grep ' /boot ' | head -1 | cut -d' ' -f1 | cut -dp -f1");
    646646#endif
    647647        }
    648648        if (!bootdev[0]) {
    649649            mr_free(bootdev);
    650             mr_asprintf(bootdev, "%s", call_program_and_get_last_line_of_output("mount | grep ' / ' | head -1 | cut -d' ' -f1 | sed 's/[0-9].*//'"));
     650            bootdev = call_program_and_get_last_line_of_output("mount | grep ' / ' | head -1 | cut -d' ' -f1 | sed 's/[0-9].*//'");
    651651            if (strstr(bootdev, "/dev/cciss/")) {
    652652                mr_free(bootdev);
    653                 mr_asprintf(bootdev, "%s", call_program_and_get_last_line_of_output("mount | grep ' / ' | head -1 | cut -d' ' -f1 | cut -dp -f1"));
     653                bootdev = call_program_and_get_last_line_of_output("mount | grep ' / ' | head -1 | cut -d' ' -f1 | cut -dp -f1");
    654654            }
    655655        }
     
    928928        log_to_screen("Mindi failed to create your boot+data disks.");
    929929        mr_asprintf(command, "grep 'Fatal error' /var/log/mindi.log");
    930         mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     930        tmp = call_program_and_get_last_line_of_output(command);
    931931        mr_free(command);
    932932
     
    11851185    mr_asprintf(data_disks_file, "%s/all.tar.gz", bkpinfo->tmpdir);
    11861186
    1187     mr_asprintf(g_serial_string, "%s", call_program_and_get_last_line_of_output("dd  if=/dev/urandom bs=16 count=1 2> /dev/null |  hexdump | tr -s ' ' '0' | head -n1"));
     1187    g_serial_string = call_program_and_get_last_line_of_output("dd  if=/dev/urandom bs=16 count=1 2> /dev/null |  hexdump | tr -s ' ' '0' | head -n1");
    11881188    mr_strip_spaces(g_serial_string);
    11891189    mr_strcat(g_serial_string, "...word.");
     
    18921892    mr_asprintf(command, "dd if=%s bs=512 count=1 2> /dev/null | strings | head -n1", bigfile_fname);
    18931893    log_msg(1, "command = '%s'", command);
    1894     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     1894    tmp = call_program_and_get_last_line_of_output(command);
    18951895    mr_free(command);
    18961896
     
    26602660            mr_asprintf(tmp, "cat %s 2> /dev/null", szserfname);
    26612661            mr_free(our_serial_str);
    2662             mr_asprintf(our_serial_str, "%s", call_program_and_get_last_line_of_output(tmp));
     2662            our_serial_str = call_program_and_get_last_line_of_output(tmp);
    26632663            mr_free(tmp);
    26642664            // FIXME - should be able to use last_line_of_file(), surely?
     
    28592859        mr_asprintf(command, "ntfsresize --force --info %s|grep '^You might resize at '|cut -d' ' -f5", biggie_filename);
    28602860        log_it("command = %s", command);
    2861         mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     2861        tmp = call_program_and_get_last_line_of_output(command);
    28622862        mr_free(command);
    28632863        log_it("res of it = %s", tmp);
  • branches/2.2.10/mondo/src/common/libmondo-cli.c

    r2382 r2383  
    264264    mr_asprintf(command, "mount 2>/dev/null | awk '{if($1 ~ \"^/dev/\"){print $0}}'|wc -l");
    265265    log_msg(5, "Running: %s", command);
    266     mr_asprintf(mounted_file_system, "%s", call_program_and_get_last_line_of_output(command));
     266    mounted_file_system = call_program_and_get_last_line_of_output(command);
    267267    mr_free(command);
    268268
     
    274274        mr_asprintf(command, "mount 2>/dev/null | awk '{if($1 ~ \"^/dev/\"){print $1,$3}}'|head -n %d", i);
    275275        log_msg(5, "Running: %s", command);
    276         mr_asprintf(mounted_file_system, "%s", call_program_and_get_last_line_of_output(command));
     276        mounted_file_system = call_program_and_get_last_line_of_output(command);
    277277        mr_free(command);
    278278
     
    333333    int c = 0;
    334334    int lastpos = 0;
    335     char VG[MAX_STR_LEN];
     335    char *VG = NULL;
    336336    char *tmp = NULL;
    337337    char *command = NULL;
     
    358358    mr_asprintf(command, "ls -al %s 2>/dev/null | wc -l", dsf);
    359359    log_msg(5, "  Executing: %s", command);
    360     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     360    tmp = call_program_and_get_last_line_of_output(command);
    361361    mr_free(command);
    362362
     
    384384    mr_asprintf(command, "parted2fdisk -l %s 2>/dev/null|grep -E \"^/dev/\"|awk '{printf(\"%%s \", $1)}END{print \"\"}'", dsf);
    385385    log_msg(4, "Executing: %s", command);
    386     mr_asprintf(partition_list, "%s", call_program_and_get_last_line_of_output(command));
     386    partition_list = call_program_and_get_last_line_of_output(command);
    387387    mr_free(command);
    388388    log_msg(4, "Partition list for %s: %s", dsf, partition_list);
     
    438438          dsf, partitions[i]);
    439439        log_msg(4, "  Running: %s", command);
    440         mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     440        tmp = call_program_and_get_last_line_of_output(command);
    441441        mr_free(command);
    442442
     
    451451        /* It's not swap. See if we can find the mount point from the mount command. */
    452452        mr_asprintf(command, "mount 2>/dev/null | awk '{if((NF>0)&&($1==\"%s\")){print $3}}'", partitions[i]);
    453         mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     453        tmp = call_program_and_get_last_line_of_output(command);
    454454        mr_free(command);
    455455
     
    471471        mr_asprintf(command, "parted2fdisk -l %s |awk '{if($1 ~ \"^%s\"){print $5}}'", dsf, partitions[i]);
    472472        log_msg(4, "  Running: %s", command);
    473         mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     473        tmp = call_program_and_get_last_line_of_output(command);
    474474        mr_free(command);
    475475        if (strlen(tmp)) {
     
    480480                mr_asprintf(command, "pvdisplay -v %s 2>/dev/null|grep \"VG Name\"|awk '{print $NF}'", partitions[i]);
    481481                log_msg(4, "  Running: %s", command);
    482                 strcpy(VG, call_program_and_get_last_line_of_output(command));
     482                VG = call_program_and_get_last_line_of_output(command);
    483483                mr_free(command);
    484484                log_msg(4, "  Volume Group: %s", VG);
     
    488488                    mr_asprintf(command, "mount 2>/dev/null|grep -E \"/dev/mapper/%s-|/dev/%s/\"|awk '{printf(\"%%s \",$3)}END{print \"\"}'", VG, VG);
    489489                    log_msg(4, "  Running: %s", command);
    490                     mr_asprintf(mount_list, "%s", call_program_and_get_last_line_of_output(command));
     490                    mount_list = call_program_and_get_last_line_of_output(command);
    491491                    mr_free(command);
     492
    492493                    log_msg(4, "  VG %s mount_list: %s", VG, mount_list);
    493494                    lastpos = 0;
     
    498499                            mr_free(tmp);
    499500                            mr_free(token);
     501                            mr_free(VG);
    500502                            return (1);
    501503                        }
     
    510512                    mr_asprintf(command, "%s", "cat /proc/mdstat|grep -iv Personal|awk '{if($0~\"^.*[ ]+:\"){printf(\"/dev/%s \", $1)}}END{print \"\"}'");
    511513                    log_msg (5, "Running: %s", command);
    512                     mr_asprintf(mount_list, "%s", call_program_and_get_last_line_of_output(command));
     514                    mount_list = call_program_and_get_last_line_of_output(command);
    513515                    mr_free(command);
    514516                    log_msg(4, "  Software raid device list: %s", mount_list);
     
    518520                        log_msg (5, "Running: %s", command);
    519521                        mr_free(tmp);
    520                         mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     522
     523                        tmp = call_program_and_get_last_line_of_output(command);
    521524                        mr_free(command);
     525
    522526                        log_msg(4, "Number of Software raid device: %s", tmp);
    523527                        if (atoi(tmp)) {
     
    527531                                mr_free(tmp);
    528532                                mr_free(token);
     533                                mr_free(VG);
    529534                                return (1);
    530535                            }
     
    537542                    log_msg (4, "Error finding Volume Group for partition %s", partitions[i]);
    538543                    mr_free(tmp);
     544                    mr_free(VG);
    539545                    return (1);
    540546                }
    541547                mr_free(tmp);
     548                mr_free(VG);
    542549                continue;
    543550            }
     
    552559        mr_asprintf(command, "mdadm --examine %s 2>/dev/null | awk '{if($1 == \"UUID\"){print $3}}'", partitions[i]);
    553560        log_msg(4, "  Running: %s", command);
    554         mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     561        tmp = call_program_and_get_last_line_of_output(command);
    555562        mr_free(command);
    556563        if (!strlen(tmp)) {
     
    563570        mr_asprintf(command, "%s", "cat /proc/mdstat|grep -iv Personal|awk '{if($0~\"^.*[ ]+:\"){printf(\"/dev/%s \", $1)}}END{print \"\"}'");
    564571        log_msg (5, "  Running: %s", command);
    565         mr_asprintf(mount_list, "%s", call_program_and_get_last_line_of_output(command));
     572        mount_list = call_program_and_get_last_line_of_output(command);
    566573        mr_free(command);
    567574        log_msg(4, "  Software raid device list: %s", mount_list);
     
    572579            log_msg(4, "  Running: %s", command);
    573580            mr_free(tmp);
    574             mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     581            tmp = call_program_and_get_last_line_of_output(command);
    575582            mr_free(command);
    576583            if (!atoi(tmp)) {
     
    10091016        mr_asprintf(tmp1, "mount | grep -E \"^%s[/]* .*\" | cut -d' ' -f3", bkpinfo->netfs_mount);
    10101017        mr_free(bkpinfo->isodir);
    1011         mr_asprintf(bkpinfo->isodir, "%s", call_program_and_get_last_line_of_output(tmp1));
     1018        bkpinfo->isodir = call_program_and_get_last_line_of_output(tmp1);
    10121019        mr_free(tmp1);
    10131020
     
    10271034                mr_asprintf(tmp1, "mount | grep -E \"^%s[/]* .*\" | cut -d' ' -f3", bkpinfo->netfs_mount);
    10281035                mr_free(bkpinfo->isodir);
    1029                 mr_asprintf(bkpinfo->isodir, "%s", call_program_and_get_last_line_of_output(tmp1));
     1036                bkpinfo->isodir = call_program_and_get_last_line_of_output(tmp1);
    10301037                mr_free(tmp1);
    10311038
  • branches/2.2.10/mondo/src/common/libmondo-devices.c

    r2382 r2383  
    525525    if (tmp1) {
    526526        mr_asprintf(command, "%s -scanbus 2> /dev/null | tr -s '\t' ' ' | grep \"[0-9]*,[0-9]*,[0-9]*\" | grep -v \"[0-9]*) \\*\" | grep CD | cut -d' ' -f2 | head -n1", cdr_exe);
    527         mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     527        tmp = call_program_and_get_last_line_of_output(command);
    528528        mr_free(command);
    529529    }
     
    805805
    806806    log_msg(1, "command=%s", command);
    807     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     807    tmp = call_program_and_get_last_line_of_output(command);
    808808    mr_free(command);
    809809
     
    833833    }
    834834
    835     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output("dvdrecord -scanbus 2> /dev/null | grep \") '\" | grep -n \"\" | grep DVD | cut -d':' -f1"));
     835    tmp = call_program_and_get_last_line_of_output("dvdrecord -scanbus 2> /dev/null | grep \") '\" | grep -n \"\" | grep DVD | cut -d':' -f1");
    836836    log_msg(5, "tmp = '%s'", tmp);
    837837    if (!tmp[0])
    838838        mr_free(tmp);
    839         mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output ("cdrecord -scanbus 2> /dev/null | grep \") '\" | grep -n \"\" | grep DVD | cut -d':' -f1")
    840             );
     839        tmp = call_program_and_get_last_line_of_output("cdrecord -scanbus 2> /dev/null | grep \") '\" | grep -n \"\" | grep DVD | cut -d':' -f1");
    841840    if (tmp[0]) {
    842841        devno = atoi(tmp) - 1;
     
    10971096    char *mddevice = (char *) malloc(32);
    10981097    char command[MAX_STR_LEN];
     1098    char *tmp = NULL;
    10991099    int vndev = 2;
    1100     if (atoi
    1101         (call_program_and_get_last_line_of_output
    1102          ("/sbin/sysctl -n kern.osreldate")) < 500000) {
     1100    int i = 2;
     1101
     1102    tmp = call_program_and_get_last_line_of_output("/sbin/sysctl -n kern.osreldate"));
     1103    i = atoi(tmp);
     1104    mr_free(tmp);
     1105
     1106    if (i < 500000) {
    11031107        do {
    11041108            sprintf(mddevice, "vn%ic", vndev++);
     
    11331137{
    11341138    char *command = NULL;
     1139    char *tmp = NULL;
    11351140    int res = 0;
     1141    int i = 0;
    11361142
    11371143    if (strncmp(dname, "/dev/", 5) == 0) {
     
    11391145    }
    11401146
    1141     if (atoi
    1142         (call_program_and_get_last_line_of_output
    1143          ("/sbin/sysctl -n kern.osreldate")) < 500000) {
     1147    tmp = call_program_and_get_last_line_of_output("/sbin/sysctl -n kern.osreldate"));
     1148    i = atoi(tmp);
     1149    mr_free(tmp);
     1150
     1151    if (i < 500000) {
    11441152        mr_asprintf(command, "vnconfig -d %s", dname);
    11451153    } else {
     
    16531661        /* Initiate bkpinfo netfs_mount path from running environment if not already done */
    16541662        if (bkpinfo->netfs_mount == NULL) {
    1655             mr_asprintf(bkpinfo->netfs_mount, "%s", call_program_and_get_last_line_of_output("mount | grep \":\" | cut -d' ' -f1 | head -n1"));
     1663            bkpinfo->netfs_mount = call_program_and_get_last_line_of_output("mount | grep \":\" | cut -d' ' -f1 | head -n1");
    16561664        }
    16571665#ifdef __FreeBSD__
     
    16821690            mr_asprintf(command, "mount | grep \"%s \" | cut -d' ' -f3", bkpinfo->netfs_mount);
    16831691            mr_free(bkpinfo->isodir);
    1684             mr_asprintf(bkpinfo->isodir, "%s", call_program_and_get_last_line_of_output(command));
     1692            bkpinfo->isodir = call_program_and_get_last_line_of_output(command);
    16851693            mr_free(command);
    16861694
     
    17221730        mr_free(bkpinfo->isodir);
    17231731        if (is_this_device_mounted(bkpinfo->netfs_mount)) {
    1724             mr_asprintf(bkpinfo->isodir, "%s", call_program_and_get_last_line_of_output("mount | grep \":\" | cut -d' ' -f3 | head -n1"));
     1732            bkpinfo->isodir = call_program_and_get_last_line_of_output("mount | grep \":\" | cut -d' ' -f3 | head -n1");
    17251733
    17261734        } else {
     
    18271835#ifdef __FreeBSD__
    18281836#define EXAMPLEBD   "/dev/ad0"
    1829         mr_asprintf(bkpinfo->boot_device, "%s", call_program_and_get_last_line_of_output("mount | grep ' / ' | head -1 | cut -d' ' -f1 | sed 's/\\([0-9]\\).*/\\1/'"));
     1837        bkpinfo->boot_device = call_program_and_get_last_line_of_output("mount | grep ' / ' | head -1 | cut -d' ' -f1 | sed 's/\\([0-9]\\).*/\\1/'");
    18301838#else
    18311839#define EXAMPLEBD   "/dev/hda"
    1832         mr_asprintf(bkpinfo->boot_device, "%s", call_program_and_get_last_line_of_output("mount | grep ' / ' | head -1 | cut -d' ' -f1 | sed 's/[0-9].*//'"));
     1840        bkpinfo->boot_device = call_program_and_get_last_line_of_output("mount | grep ' / ' | head -1 | cut -d' ' -f1 | sed 's/[0-9].*//'");
    18331841#endif
    18341842        i = which_boot_loader(bkpinfo->boot_device);
     
    18871895        mr_free(tmp);
    18881896// NTFS
    1889         mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output("parted2fdisk -l | grep -i ntfs | awk '{ print $1};' | tr -s '\\n' ' ' | awk '{ print $0};'"));
     1897        tmp = call_program_and_get_last_line_of_output("parted2fdisk -l | grep -i ntfs | awk '{ print $1};' | tr -s '\\n' ' ' | awk '{ print $0};'");
    18901898        if (strlen(tmp) > 2) {
    18911899            p = popup_and_get_string("NTFS partitions", "Please enter/confirm the NTFS partitions you wish to backup as well.", tmp);
     
    20302038
    20312039    mr_asprintf(exclude_these_directories,"%s",list_of_NETFS_mounts_only());
    2032     mr_asprintf(exclude_these_devices,"%s", call_program_and_get_last_line_of_output("tr -s '\t' ' ' < /etc/fstab | grep -E '( (coda|ncpfs|sshfs|nfs|nfs4|smbfs|cifs|afs|gfs|ocfs|ocfs2|mvfs|nsspool|nsvol) )' | cut -d' ' -f1 | tr -s '\n' ' ' | awk '{print $0;}'"));
     2040    exclude_these_devices = call_program_and_get_last_line_of_output("tr -s '\t' ' ' < /etc/fstab | grep -E '( (coda|ncpfs|sshfs|nfs|nfs4|smbfs|cifs|afs|gfs|ocfs|ocfs2|mvfs|nsspool|nsvol) )' | cut -d' ' -f1 | tr -s '\n' ' ' | awk '{print $0;}'");
    20332041    snprintf(result_sz, 1023, "%s %s", exclude_these_directories, exclude_these_devices);
    20342042    mr_free(exclude_these_devices);
     
    20512059    static char result_sz[512];
    20522060
    2053     mr_asprintf(exclude_these_directories,"%s", call_program_and_get_last_line_of_output("mount -t coda,ncpfs,fuse.sshfs,nfs,nfs4,smbfs,cifs,afs,gfs,ocfs,ocfs2,mvfs,nsspool,nssvol | tr -s '\t' ' ' | cut -d' ' -f3 | tr -s '\n' ' ' | awk '{print $0;}'"));
     2061    exclude_these_directories = call_program_and_get_last_line_of_output("mount -t coda,ncpfs,fuse.sshfs,nfs,nfs4,smbfs,cifs,afs,gfs,ocfs,ocfs2,mvfs,nsspool,nssvol | tr -s '\t' ' ' | cut -d' ' -f3 | tr -s '\n' ' ' | awk '{print $0;}'");
    20542062    snprintf(result_sz, 511, "%s", exclude_these_directories);
    20552063    mr_free(exclude_these_directories);
     
    21032111
    21042112#ifdef __FreeBSD__
    2105     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output("LANGUAGE=C df -m -P -t nonfs,msdosfs,ntfs,ntfs-3g,smbfs,smb,cifs,afs,gfs,ocfs,ocfs2,mvfs,nsspool,nssvol | grep -vE \"none|Filesystem\" | awk '{printf \"%s %s\\n\", $4, $6;}' | sort -n | tail -n1 | awk '{print $NF;}'"));
     2113    tmp = call_program_and_get_last_line_of_output("LANGUAGE=C df -m -P -t nonfs,msdosfs,ntfs,ntfs-3g,smbfs,smb,cifs,afs,gfs,ocfs,ocfs2,mvfs,nsspool,nssvol | grep -vE \"none|Filesystem\" | awk '{printf \"%s %s\\n\", $4, $6;}' | sort -n | tail -n1 | awk '{print $NF;}'");
    21062114#else
    2107     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output("LANGUAGE=C df -m -P -x nfs -x nfs4 -x fuse.sshfs -x vfat -x ntfs -x ntfs-3g -x smbfs -x smb -x cifs -x afs -x gfs -x ocfs -x ocfs2 -x mvfs -x nsspool -x nssvol -x iso9660 | grep -vE \"none|Filesystem|/dev/shm\" | awk '{printf \"%s %s\\n\", $4, $6;}' | sort -n | tail -n1 | awk '{print $NF;}'"));
     2115    tmp = call_program_and_get_last_line_of_output("LANGUAGE=C df -m -P -x nfs -x nfs4 -x fuse.sshfs -x vfat -x ntfs -x ntfs-3g -x smbfs -x smb -x cifs -x afs -x gfs -x ocfs -x ocfs2 -x mvfs -x nsspool -x nssvol -x iso9660 | grep -vE \"none|Filesystem|/dev/shm\" | awk '{printf \"%s %s\\n\", $4, $6;}' | sort -n | tail -n1 | awk '{print $NF;}'");
    21082116#endif
    21092117
     
    21992207    if (g_ISO_restore_mode) {
    22002208        mr_asprintf(tmp, "mount | grep iso9660 | awk '{print $3;}'");
    2201         mr_asprintf(mountdev, "%s%s", call_program_and_get_last_line_of_output(tmp), "/archives/THIS-CD-NUMBER");
     2209        mountdev = call_program_and_get_last_line_of_output(tmp);
     2210        mr_strcat(mountdev, "/archives/THIS-CD-NUMBER");
    22022211        mr_free(tmp);
    22032212
     
    22522261
    22532262#ifdef __FreeBSD__
    2254     mr_asprintf(output, "%s", call_program_and_get_last_line_of_output("mount | grep ' on / ' | cut -d' ' -f1"));
     2263    output = call_program_and_get_last_line_of_output("mount | grep ' on / ' | cut -d' ' -f1");
    22552264#else
    2256     mr_asprintf(output, "%s", call_program_and_get_last_line_of_output("mount | grep ' on / ' | cut -d' ' -f1 | sed 's/[0-9]//' | sed 's/[0-9]//'"));
     2265    output = call_program_and_get_last_line_of_output("mount | grep ' on / ' | cut -d' ' -f1 | sed 's/[0-9]//' | sed 's/[0-9]//'");
    22572266    if (strstr(output, "/dev/cciss/")) {
    22582267        mr_free(output);
    2259         mr_asprintf(output, "%s", call_program_and_get_last_line_of_output("mount | grep ' on / ' | cut -d' ' -f1 | cut -dp -f1"));
     2268        output = call_program_and_get_last_line_of_output("mount | grep ' on / ' | cut -d' ' -f1 | cut -dp -f1");
    22602269    }
    22612270    if (strstr(output, "/dev/md")) {
    22622271        mr_free(output);
    2263         mr_asprintf(output, "%s", call_program_and_get_last_line_of_output("mount | grep ' on / ' | cut -d' ' -f1"));
     2272        output = call_program_and_get_last_line_of_output("mount | grep ' on / ' | cut -d' ' -f1");
    22642273    }
    22652274#endif
     
    24992508            log_msg(1, "curr_fname = %s", curr_fname);
    25002509            mr_asprintf(command, "file %s", curr_fname);
    2501             mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     2510            tmp = call_program_and_get_last_line_of_output(command);
    25022511            mr_free(command);
    25032512            for (p = tmp + strlen(tmp); p != tmp && *p != '`' && *p != ' '; p--);
     
    25502559    mr_free(fdisk);
    25512560
    2552     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     2561    tmp = call_program_and_get_last_line_of_output(command);
    25532562    mr_free(command);
    25542563
  • branches/2.2.10/mondo/src/common/libmondo-fifo.c

    r2376 r2383  
    165165    mr_asprintf(command, "ps %s | grep -F \"%s\" | grep -Fv grep | awk '{print $2;}' | grep -v PID | head -1", ps_options, g_sz_call_to_buffer);
    166166    log_msg(2, "kill_buffer() --- command = %s", command);
    167     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     167    tmp = call_program_and_get_last_line_of_output(command);
    168168    mr_free(command);
    169169
  • branches/2.2.10/mondo/src/common/libmondo-filelist.c

    r2382 r2383  
    860860    char *fname = NULL;
    861861    char *tmp = NULL;
     862    char *tmp1 = NULL;
    862863    int pos_in_fname;
    863864    /*@ int ******************************************************** */
     
    877878    mr_asprintf(tmp, "zcat %s | wc -l", filelist_fname);
    878879    log_msg(6, "tmp = %s", tmp);
    879     lines_in_filelist = atol(call_program_and_get_last_line_of_output(tmp));
     880
     881    tmp1 = call_program_and_get_last_line_of_output(tmp);
    880882    mr_free(tmp);
     883
     884    lines_in_filelist = atol(tmp1);
     885    mr_free(tmp1);
    881886
    882887    if (lines_in_filelist < 3) {
     
    13201325    char *new;
    13211326    char *tmp = NULL;
     1327    char *tmp1 = NULL;
    13221328    char *dir = NULL;
    13231329    static int percentage = 0;
     
    13701376
    13711377        mr_asprintf(tmp, "wc -l %s | awk '{print $1;}'", g_skeleton_filelist);
    1372         g_skeleton_entries = 1 + atol(call_program_and_get_last_line_of_output(tmp));
     1378        tmp1 = call_program_and_get_last_line_of_output(tmp);
    13731379        mr_free(tmp);
     1380
     1381        g_skeleton_entries = 1 + atol(tmp1);
     1382        mr_free(tmp1);
    13741383
    13751384        mr_asprintf(name_of_evalcall_form, "Making catalog of %s", dir);
     
    15331542        }
    15341543        make_hole_for_file(sz_datefile);
    1535         write_one_liner_data_file(sz_datefile,
    1536                                   call_program_and_get_last_line_of_output
    1537                                   ("date +%s"));
     1544        tmp1 = call_program_and_get_last_line_of_output("date +%s");
     1545        write_one_liner_data_file(sz_datefile, tmp1);
     1546        mr_free(tmp1);
    15381547    } else if (lstat(sz_datefile, &statbuf)) {
    15391548        log_msg(2, "Warning - unable to find date of previous backup. Full backup instead.");
     
    15601569        }
    15611570        log_msg(1, "Calculating filelist");
    1562         mr_asprintf(tmp2, "%s", call_program_and_get_last_line_of_output("mount | grep -Ew 'ntfs|ntfs-3g|fat|vfat|dos' | awk '{print $3}'"));
     1571        tmp2 = call_program_and_get_last_line_of_output("mount | grep -Ew 'ntfs|ntfs-3g|fat|vfat|dos' | awk '{print $3}'");
    15631572        if (strlen(tmp2) < 1) {
    15641573            mr_asprintf(tmp1," ");
     
    15671576            mr_asprintf(tmp1, "find %s -name '/win386.swp' -o -name '/hiberfil.sys' -o -name '/pagefile.sys' 2> /dev/null\n",tmp2);
    15681577            mr_free(tmp2);
    1569             mr_asprintf(tmp2, "%s", call_program_and_get_last_line_of_output(tmp1));
     1578            tmp2 = call_program_and_get_last_line_of_output(tmp1);
    15701579            log_msg(2, "Found windows files: %s",tmp2);
    15711580        }
  • branches/2.2.10/mondo/src/common/libmondo-files.c

    r2382 r2383  
    274274    char *kernel = NULL;;
    275275
    276     mr_asprintf(kernel, "%s", call_program_and_get_last_line_of_output("mindi --findkernel 2> /dev/null"));
     276    kernel = call_program_and_get_last_line_of_output("mindi --findkernel 2> /dev/null");
    277277   
    278278    // If we didn't get anything back, check whether mindi raised a fatal error
    279279    if (!kernel[0]) {
    280280        mr_asprintf(command, "%s", "grep 'Fatal error' /var/log/mindi.log");
    281         mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     281        tmp = call_program_and_get_last_line_of_output(command);
    282282        if (strlen(tmp) > 1) {
    283283            popup_and_OK(tmp);
     
    331331    assert_string_is_neither_NULL_nor_zerolength(fname);
    332332    mr_asprintf(command, "which %s 2> /dev/null", fname);
    333     mr_asprintf(output, "%s", call_program_and_get_last_line_of_output(command));
     333    output = call_program_and_get_last_line_of_output(command);
    334334    mr_free(command);
    335335    if (output[0] == '\0') {
     
    340340        mr_asprintf(command, "file %s 2> /dev/null | cut -d':' -f1 2> /dev/null", output);
    341341        mr_free(output);
    342         mr_asprintf(output, "%s", call_program_and_get_last_line_of_output(command));
     342        output = call_program_and_get_last_line_of_output(command);
    343343        mr_free(command);
    344344    }
     
    346346        mr_asprintf(command, "dirname %s 2> /dev/null", output);
    347347        mr_free(output);
    348         mr_asprintf(output, "%s", call_program_and_get_last_line_of_output(command));
     348        output = call_program_and_get_last_line_of_output(command);
    349349        mr_free(command);
    350350    }
     
    428428    for (i = NOOF_ERR_LINES - 1; i >= 0 && !strstr(err_log_lines[i], "% Done") && !strstr(err_log_lines[i], "% done"); i--);
    429429    if (i < 0) {
    430         mr_asprintf(command, "tail -n3 %s | grep -Fi \"%c\" | tail -n1 | awk '{print $0;}'", filename, '%');
    431         mr_asprintf(lastline, "%s", call_program_and_get_last_line_of_output(command));
     430        mr_asprintf(command, "tail -n3 %s | grep -Fi %% | tail -n1 | awk '{print $0;}'", filename);
     431        lastline = call_program_and_get_last_line_of_output(command);
    432432        mr_free(command);
    433433        if (!lastline[0]) {
     
    722722
    723723    log_it(command);
    724     mr_asprintf(sz_res, "%s", call_program_and_get_last_line_of_output(command));
     724    sz_res = call_program_and_get_last_line_of_output(command);
    725725    file_len_K = atol(sz_res);
    726726    log_msg(4, "%s --> %s --> %ld", command, sz_res, file_len_K);
     
    779779                    mr_asprintf(command, "ntfsresize --force --info %s|grep '^You might resize at '|cut -d' ' -f5", fname);
    780780                    log_it("command = %s", command);
    781                     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     781                    tmp = call_program_and_get_last_line_of_output(command);
    782782                    mr_free(command);
    783783
     
    10301030    }
    10311031
    1032     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output("which mondorestore"));
     1032    tmp = call_program_and_get_last_line_of_output("which mondorestore");
    10331033    if (!tmp[0]) {
    10341034        mr_free(tmp);
     
    11011101    /* BERLIOS : there is a bug #67 here as it only considers the first NIC */
    11021102    mr_asprintf(command, "ifconfig | tr '\n' '#' | sed s/##// | tr '#' ' ' | tr '' '\n' | head -n1 | cut -d' ' -f1");
    1103     mr_asprintf(netfs_dev, "%s", call_program_and_get_last_line_of_output(command));
     1103    netfs_dev = call_program_and_get_last_line_of_output(command);
    11041104    mr_free(command);
    11051105
    11061106    mr_asprintf(command, "%s", "ifconfig | tr '\n' '#' | sed s/##// | tr '#' ' ' | tr '' '\\n' | head -n1 | tr -s '\t' ' ' | cut -d' ' -f7 | cut -d':' -f2");
    1107     mr_asprintf(netfs_client_ipaddr, "%s", call_program_and_get_last_line_of_output(command));
     1107    netfs_client_ipaddr = call_program_and_get_last_line_of_output(command);
    11081108    mr_free(command);
    11091109
    11101110    mr_asprintf(command, "%s", "ifconfig | tr '\n' '#' | sed s/##// | tr '#' ' ' | tr '' '\\n' | head -n1 | tr -s '\t' ' ' | cut -d' ' -f9 | cut -d':' -f2");
    1111     mr_asprintf(netfs_client_netmask, "%s", call_program_and_get_last_line_of_output(command));
     1111    netfs_client_netmask = call_program_and_get_last_line_of_output(command);
    11121112    mr_free(command);
    11131113
    11141114    mr_asprintf(command, "%s", "ifconfig | tr '\n' '#' | sed s/##// | tr '#' ' ' | tr '' '\\n' | head -n1 | tr -s '\t' ' ' | cut -d' ' -f8 | cut -d':' -f2");
    1115     mr_asprintf(netfs_client_broadcast, "%s", call_program_and_get_last_line_of_output(command));
     1115    netfs_client_broadcast = call_program_and_get_last_line_of_output(command);
    11161116    mr_free(command);
    11171117
    11181118    mr_asprintf(command, "%s", "route -n | grep '^0.0.0.0' | awk '{print $2}'");
    1119     mr_asprintf(netfs_client_defgw, "%s", call_program_and_get_last_line_of_output(command));
     1119    netfs_client_defgw = call_program_and_get_last_line_of_output(command);
    11201120    mr_free(command);
    11211121
     
    11361136        log_to_screen("Found bonding device %s; looking for corresponding ethN slave device\n", netfs_dev);
    11371137        mr_asprintf(command, "%s", "ifconfig %s | awk '{print $5}' | head -n1", netfs_dev);
    1138         mr_asprintf(mac_addr, "%s", call_program_and_get_last_line_of_output(command));
     1138        mac_addr = call_program_and_get_last_line_of_output(command);
    11391139        mr_free(command);
    11401140
     
    11431143        mr_free(netfs_dev);
    11441144
    1145         mr_asprintf(netfs_dev, "%s", call_program_and_get_last_line_of_output(command));
     1145        netfs_dev = call_program_and_get_last_line_of_output(command);
    11461146        mr_free(command);
    11471147
  • branches/2.2.10/mondo/src/common/libmondo-fork.c

    r2382 r2383  
    3737{
    3838    /*@ buffers ***************************************************** */
    39     static char result[512];
    40     char *tmp = NULL;
     39    char *result = NULL;
    4140
    4241    /*@ pointers **************************************************** */
    4342    FILE *fin;
    4443
    45     /*@ initialize data ********************************************* */
    46     result[0] = '\0';
    47 
    4844    /*@******************************************************************** */
    4945
    5046    assert_string_is_neither_NULL_nor_zerolength(call);
    5147    if ((fin = popen(call, "r"))) {
    52         for (mr_getline(tmp, fin); !feof(fin); mr_getline(tmp, fin)) {
    53             if (strlen(tmp) > 1) {
    54                 strncpy(result, tmp, 511);
    55             }
    56             mr_free(tmp);
    57         }
    58         mr_free(tmp);
     48        for (mr_getline(result, fin); !feof(fin); mr_getline(result, fin));
    5949        paranoid_pclose(fin);
    6050    } else {
    6151        log_OS_error("Unable to popen call");
    6252    }
    63     strip_spaces(result);
    64     return (result);
     53    mr_strip_spaces(result);
     54    return(result);
    6555}
    6656
  • branches/2.2.10/mondo/src/common/libmondo-stream.c

    r2376 r2383  
    265265
    266266    mr_asprintf(command, "%s -scanbus 2> /dev/null | grep -i tape | wc -l", cdr_exe);
    267     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     267    tmp = call_program_and_get_last_line_of_output(command);
    268268    mr_free(command);
    269269
     
    277277
    278278    mr_asprintf(command, "%s -scanbus 2> /dev/null | tr -s '\t' ' ' | grep \"[0-9]*,[0-9]*,[0-9]*\" | grep -v \"[0-9]*) \\*\" | grep -i TAPE | cut -d' ' -f2 | head -n1", cdr_exe);
    279     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     279    tmp = call_program_and_get_last_line_of_output(command);
    280280    mr_free(command);
    281281
     
    289289    mr_asprintf(command, "%s -scanbus 2> /dev/null | tr -s '\t' ' ' | grep \"[0-9]*,[0-9]*,[0-9]*\" | grep -v \"[0-9]*) \\*\" | grep -i TAPE | cut -d' ' -f3 | cut -d')' -f1 | head -n1", cdr_exe);
    290290    mr_free(cdr_exe);
    291     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     291    tmp = call_program_and_get_last_line_of_output(command);
    292292    mr_free(command);
    293293
     
    324324    }
    325325
    326     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(" cdrecord -scanbus 2> /dev/null | tr -s '\t' ' ' |  grep \"[0-9]*,[0-9]*,[0-9]*\" | grep -v \"[0-9]*) \\*\" | grep -i TAPE |  awk '{for(i=1; i<NF; i++) { if (index($i, \"GB\")>0) { print $i;};};};'"));
     326    tmp = call_program_and_get_last_line_of_output(" cdrecord -scanbus 2> /dev/null | tr -s '\t' ' ' |  grep \"[0-9]*,[0-9]*,[0-9]*\" | grep -v \"[0-9]*) \\*\" | grep -i TAPE |  awk '{for(i=1; i<NF; i++) { if (index($i, \"GB\")>0) { print $i;};};};'");
    327327
    328328    if (mt_says_tape_exists(dev)) {
  • branches/2.2.10/mondo/src/common/libmondo-tools.c

    r2382 r2383  
    225225    d = 5.2;                    // :-)
    226226#else
    227     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output("uname -r"));
     227    tmp = call_program_and_get_last_line_of_output("uname -r");
    228228    p = strchr(tmp, '.');
    229229    if (p) {
     
    523523        if (getenv ("SUDO_COMMAND")) {
    524524            mr_asprintf(command, "strings `which growisofs` | grep -c SUDO_COMMAND");
    525             if (!strcmp(call_program_and_get_last_line_of_output(command), "1")) {
     525            tmp = call_program_and_get_last_line_of_output(command);
     526            if (!strcmp(tmp, "1")) {
    526527                mr_free(command);
     528                mr_free(tmp);
    527529                popup_and_OK("Fatal Error: Can't write DVDs as sudo because growisofs doesn't support this - see the growisofs manpage for details.");
    528530                fatal_error("Can't write DVDs as sudo because growisofs doesn't support this - see the growisofs manpage for details.");
    529531            }       
    530532            mr_free(command);
     533            mr_free(tmp);
    531534        }
    532535        log_msg(2, "call_make_iso (DVD res) is ... %s", bkpinfo->call_make_iso);
     
    613616        mr_asprintf(command, "df -P %s | tail -n1 | cut -d' ' -f1", bkpinfo->isodir);
    614617        log_it("command = %s", command);
    615         log_it("res of it = %s", call_program_and_get_last_line_of_output(command));
    616         mr_asprintf(iso_dev, "%s", call_program_and_get_last_line_of_output(command));
     618        iso_dev = call_program_and_get_last_line_of_output(command);
     619        log_it("res of it = %s", iso_dev);
    617620        mr_asprintf(tmp, "%s/ISO-DEV", bkpinfo->tmpdir);
    618         write_one_liner_data_file(tmp, call_program_and_get_last_line_of_output(command));
     621        write_one_liner_data_file(tmp, iso_dev);
    619622        mr_free(tmp);
    620623        mr_free(command);
     
    624627
    625628        log_it("command = %s", command);
    626         log_it("res of it = %s", call_program_and_get_last_line_of_output(command));
    627         mr_asprintf(iso_mnt, "%s", call_program_and_get_last_line_of_output(command));
     629        iso_mnt = call_program_and_get_last_line_of_output(command);
     630        log_it("res of it = %s", iso_mnt);
    628631        mr_asprintf(tmp, "%s/ISO-MNT", bkpinfo->tmpdir);
    629         write_one_liner_data_file(tmp, call_program_and_get_last_line_of_output(command));
     632        write_one_liner_data_file(tmp, iso_mnt);
    630633        mr_free(tmp);
    631634        mr_free(command);
     
    899902
    900903    mr_asprintf(command, "df -m -P %s | tail -n1 | tr -s ' ' '\t' | cut -f4", partition);
    901     mr_asprintf(out_sz, "%s", call_program_and_get_last_line_of_output(command));
     904    out_sz = call_program_and_get_last_line_of_output(command);
    902905    mr_free(command);
    903906
     
    941944        run_program_and_log_output("ln -sf `which mkfs.msdos` /sbin/mkfs.vfat", FALSE);
    942945    }
    943     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output("free | grep Mem | head -n1 | tr -s ' ' '\t' | cut -f2"));
     946    tmp = call_program_and_get_last_line_of_output("free | grep Mem | head -n1 | tr -s ' ' '\t' | cut -f2");
    944947    if (atol(tmp) < 35000) {
    945948        retval++;
     
    10141017
    10151018    run_program_and_log_output("umount `mount | grep cdr | cut -d' ' -f3 | tr '\n' ' '`", 5);
    1016     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output("mount | grep -E \"cdr(om|w)\""));
     1019    tmp = call_program_and_get_last_line_of_output("mount | grep -E \"cdr(om|w)\"");
    10171020    if (strcmp("", tmp)) {
    10181021        if (strstr(tmp, "autofs")) {
     
    11041107    } else {
    11051108        mr_asprintf(command, "grep '%s .*' %s| cut -d' ' -f2,3,4,5", label, config_file);
    1106         mr_asprintf(value, "%s", call_program_and_get_last_line_of_output(command));
     1109        value = call_program_and_get_last_line_of_output(command);
    11071110        mr_free(command);
    11081111
     
    12321235    mr_asprintf(command, "%s", "grep -v \":\" /etc/fstab | grep -vE '^#.*$' | grep -E \"[   ]/boot[     ]\" | tr -s ' ' '\t' | cut -f1 | head -n1");
    12331236    log_msg(4, "Cool. Command = '%s'", command);
    1234     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     1237    tmp = call_program_and_get_last_line_of_output(command);
    12351238    mr_free(command);
    12361239
     
    12391242    mr_asprintf(command, "mount | grep -Ew '/boot'");
    12401243    mr_free(tmp);
    1241     mr_asprintf(tmp, "%s", call_program_and_get_last_line_of_output(command));
     1244    tmp = call_program_and_get_last_line_of_output(command);
    12421245    mr_free(command);
    12431246
     
    14391442 * The command used to start it is saved in @p g_magicdev_command.
    14401443 */
    1441 void stop_magicdev_if_necessary()
    1442 {
    1443     strcpy(g_magicdev_command,
    1444            call_program_and_get_last_line_of_output
    1445            ("ps ax | grep -w magicdev | grep -v grep | tr -s '\t' ' '| cut -d' ' -f6-99"));
     1444void stop_magicdev_if_necessary() {
     1445
     1446    char *tmp = NULL;
     1447
     1448    tmp = call_program_and_get_last_line_of_output("ps ax | grep -w magicdev | grep -v grep | tr -s '\t' ' '| cut -d' ' -f6-99");
     1449
     1450    strcpy(g_magicdev_command, tmp);
     1451    mr_free(tmp);
     1452
    14461453    if (g_magicdev_command[0]) {
    14471454        log_msg(1, "g_magicdev_command = '%s'", g_magicdev_command);
Note: See TracChangeset for help on using the changeset viewer.