Changeset 900 in MondoRescue for trunk/mondo/src/common/libmondo-mountlist.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-mountlist.c

    r783 r900  
    1616#include "libmondo-string-EXT.h"
    1717#include "newt-specific-EXT.h"
     18#include "mr_mem.h"
    1819
    1920/*@unused@*/
     
    8182
    8283    if (physical_drive_size < 0) {
    83         asprintf(&tmp, " %s does not exist.", drive);
     84        mr_asprintf(&tmp, " %s does not exist.", drive);
    8485        flaws_str = tmp;
    8586    } else {
    86         asprintf(&tmp, "%s is %ld MB", drive, physical_drive_size);
     87        mr_asprintf(&tmp, "%s is %ld MB", drive, physical_drive_size);
    8788        flaws_str = NULL;
    8889    }
    8990    log_it(tmp);
    90     paranoid_free(tmp);
     91    mr_free(tmp);
    9192
    9293
    9394    /* check DD */
    9495    for (cur_sp_no = 'a'; cur_sp_no < 'z'; ++cur_sp_no) {
    95         asprintf(&device, "%s%c", drive, cur_sp_no);
     96        mr_asprintf(&device, "%s%c", drive, cur_sp_no);
    9697        if (find_device_in_mountlist(mountlist, device) >= 0)
    9798            foundsome = TRUE;
    98         paranoid_free(device);
     99        mr_free(device);
    99100    }
    100101    if (foundsome) {
    101102        for (cur_sp_no = 'a'; cur_sp_no < 'z'; ++cur_sp_no) {
    102             asprintf(&device, "%s%c", drive, cur_sp_no);
     103            mr_asprintf(&device, "%s%c", drive, cur_sp_no);
    103104            pos = find_device_in_mountlist(mountlist, device);
    104105            if (pos < 0) {
    105106                continue;
    106107            }
    107             // BERLIOS : useless ? asprintf(&mountpoint, mountlist->el[pos].mountpoint);
     108            // BERLIOS : useless ? mr_asprintf(&mountpoint, mountlist->el[pos].mountpoint);
    108109            /* is it too big? */
    109110            if (curr_part_no > 'h') {
    110                 asprintf(&tmp, " Can only have up to 'h' in disklabel.");
     111                mr_asprintf(&tmp, " Can only have up to 'h' in disklabel.");
    111112                log_it(tmp);
    112113                if (flaws_str) {
    113                     asprintf(&tmp1, "%s%s",flaws_str, tmp);
     114                    mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    114115                } else {
    115                     asprintf(&tmp1, "%s", tmp);
    116                 }
    117                 paranoid_free(flaws_str);
     116                    mr_asprintf(&tmp1, "%s", tmp);
     117                }
     118                mr_free(flaws_str);
    118119                flaws_str = tmp1;
    119                 paranoid_free(tmp);
     120                mr_free(tmp);
    120121                res++;
    121122            }
     
    128129            }
    129130            if (device_copies > 1) {
    130                 asprintf(&tmp, " %s %s's.", number_to_text(device_copies),
     131                mr_asprintf(&tmp, " %s %s's.", number_to_text(device_copies),
    131132                         device);
    132133                if (!strstr(flaws_str, tmp)) {
    133134                    log_it(tmp);
    134135                    if (flaws_str) {
    135                         asprintf(&tmp1, "%s%s",flaws_str, tmp);
     136                        mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    136137                    } else {
    137                         asprintf(&tmp1, "%s", tmp);
     138                        mr_asprintf(&tmp1, "%s", tmp);
    138139                    }
    139                     paranoid_free(flaws_str);
     140                    mr_free(flaws_str);
    140141                    flaws_str = tmp1;
    141142                    res++;
    142143                }
    143                 paranoid_free(tmp);
     144                mr_free(tmp);
    144145            }
    145146            /* silly partition size? */
    146147            if (mountlist->el[pos].size < 8192
    147148                && strcmp(mountlist->el[pos].mountpoint, "lvm")) {
    148                 asprintf(&tmp, " %s is tiny!", device);
     149                mr_asprintf(&tmp, " %s is tiny!", device);
    149150                log_it(tmp);
    150151                if (flaws_str) {
    151                     asprintf(&tmp1, "%s%s",flaws_str, tmp);
     152                    mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    152153                } else {
    153                     asprintf(&tmp1, "%s", tmp);
    154                 }
    155                 paranoid_free(flaws_str);
     154                    mr_asprintf(&tmp1, "%s", tmp);
     155                }
     156                mr_free(flaws_str);
    156157                flaws_str = tmp1;
    157                 paranoid_free(tmp);
     158                mr_free(tmp);
    158159                res++;
    159160            }
     
    165166                && strcmp(mountlist->el[pos].mountpoint, "none")
    166167                && mountlist->el[pos].mountpoint[0] != '/') {
    167                 asprintf(&tmp, " %s has a weird mountpoint.", device);
     168                mr_asprintf(&tmp, " %s has a weird mountpoint.", device);
    168169                log_it(tmp);
    169170                if (flaws_str) {
    170                     asprintf(&tmp1, "%s%s",flaws_str, tmp);
     171                    mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    171172                } else {
    172                     asprintf(&tmp1, "%s", tmp);
    173                 }
    174                 paranoid_free(flaws_str);
     173                    mr_asprintf(&tmp1, "%s", tmp);
     174                }
     175                mr_free(flaws_str);
    175176                flaws_str = tmp1;
    176                 paranoid_free(tmp);
     177                mr_free(tmp);
    177178                res++;
    178179            }
    179180            /* is format sensible? */
    180181            if (!is_this_a_valid_disk_format(mountlist->el[pos].format)) {
    181                 asprintf(&tmp, " %s has unsupported format %s.", device, mountlist->el[pos].format);
     182                mr_asprintf(&tmp, " %s has unsupported format %s.", device, mountlist->el[pos].format);
    182183                log_it(tmp);
    183184                if (flaws_str) {
    184                     asprintf(&tmp1, "%s%s",flaws_str, tmp);
     185                    mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    185186                } else {
    186                     asprintf(&tmp1, "%s", tmp);
    187                 }
    188                 paranoid_free(flaws_str);
     187                    mr_asprintf(&tmp1, "%s", tmp);
     188                }
     189                mr_free(flaws_str);
    189190                flaws_str = tmp1;
    190                 paranoid_free(tmp);
     191                mr_free(tmp);
    191192                res++;
    192193            }
     
    194195            prev_sp_no = cur_sp_no;
    195196
    196             paranoid_free(device);
     197            mr_free(device);
    197198        }
    198199    }
     
    200201    npos = pos = 0;
    201202    for (curr_part_no = 1; curr_part_no < 99; curr_part_no++) {
    202         asprintf(&device, "%ss%d", drive, curr_part_no);
     203        mr_asprintf(&device, "%ss%d", drive, curr_part_no);
    203204        pos = find_device_in_mountlist(mountlist, device);
    204205        npos = 0;
    205206        for (cur_sp_no = 'a'; cur_sp_no <= 'h'; cur_sp_no++) {
    206             asprintf(&ndevice, "%ss%d%c", device, curr_part_no, cur_sp_no);
     207            mr_asprintf(&ndevice, "%ss%d%c", device, curr_part_no, cur_sp_no);
    207208            if (find_device_in_mountlist(mountlist, ndevice) >= 0)
    208209                npos++;
    209             paranoid_free(ndevice);
    210         }
    211         paranoid_free(device);
     210            mr_free(ndevice);
     211        }
     212        mr_free(device);
    212213
    213214        if (((pos >= 0) || npos) && foundsome) {
    214             asprintf(&tmp, " %s has both DD and PC-style partitions.", drive);
     215            mr_asprintf(&tmp, " %s has both DD and PC-style partitions.", drive);
    215216            if (flaws_str) {
    216                 asprintf(&tmp1, "%s%s",flaws_str, tmp);
     217                mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    217218            } else {
    218                 asprintf(&tmp1, "%s", tmp);
    219             }
    220             paranoid_free(flaws_str);
     219                mr_asprintf(&tmp1, "%s", tmp);
     220            }
     221            mr_free(flaws_str);
    221222            flaws_str = tmp1;
    222             paranoid_free(tmp);
     223            mr_free(tmp);
    223224            return ++res;       // fatal error
    224225        }
    225         // BERLIOS : useless ? asprintf(&mountpoint, mountlist->el[pos].mountpoint);
     226        // BERLIOS : useless ? mr_asprintf(&mountpoint, mountlist->el[pos].mountpoint);
    226227        if (pos > 0 && !npos) {
    227             asprintf(&device, "%ss%d", drive, curr_part_no);
     228            mr_asprintf(&device, "%ss%d", drive, curr_part_no);
    228229            /* gap in the partition list? */
    229230            if (curr_part_no - prev_part_no > 1) {
    230231                if (prev_part_no == 0) {
    231                     asprintf(&tmp, " Gap prior to %s.", device);
     232                    mr_asprintf(&tmp, " Gap prior to %s.", device);
    232233                    log_it(tmp);
    233234                    if (flaws_str) {
    234                         asprintf(&tmp1, "%s%s",flaws_str, tmp);
     235                        mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    235236                    } else {
    236                         asprintf(&tmp1, "%s", tmp);
     237                        mr_asprintf(&tmp1, "%s", tmp);
    237238                    }
    238                     paranoid_free(flaws_str);
     239                    mr_free(flaws_str);
    239240                    flaws_str = tmp1;
    240                     paranoid_free(tmp);
     241                    mr_free(tmp);
    241242                    res++;
    242243                } else if (curr_part_no > 5
    243244                           || (curr_part_no <= 4 && prev_part_no > 0)) {
    244                     asprintf(&tmp, " Gap between %ss%d and %d.", drive,
     245                    mr_asprintf(&tmp, " Gap between %ss%d and %d.", drive,
    245246                             prev_part_no, curr_part_no);
    246247                    log_it(tmp);
    247248                    if (flaws_str) {
    248                         asprintf(&tmp1, "%s%s",flaws_str, tmp);
     249                        mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    249250                    } else {
    250                         asprintf(&tmp1, "%s", tmp);
     251                        mr_asprintf(&tmp1, "%s", tmp);
    251252                    }
    252                     paranoid_free(flaws_str);
     253                    mr_free(flaws_str);
    253254                    flaws_str = tmp1;
    254                     paranoid_free(tmp);
     255                    mr_free(tmp);
    255256                    res++;
    256257                }
     
    261262            if ((curr_part_no >= 5 && prev_part_no == 4)
    262263                && (strcmp(part_table_fmt, "MBR") == 0)) {
    263                 asprintf(&tmp, " Partition %ss4 is occupied.", drive);
     264                mr_asprintf(&tmp, " Partition %ss4 is occupied.", drive);
    264265                log_it(tmp);
    265266                if (flaws_str) {
    266                     asprintf(&tmp1, "%s%s",flaws_str, tmp);
     267                    mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    267268                } else {
    268                     asprintf(&tmp1, "%s", tmp);
    269                 }
    270                 paranoid_free(flaws_str);
     269                    mr_asprintf(&tmp1, "%s", tmp);
     270                }
     271                mr_free(flaws_str);
    271272                flaws_str = tmp1;
    272                 paranoid_free(tmp);
     273                mr_free(tmp);
    273274                res++;
    274275            }
     
    281282            }
    282283            if (device_copies > 1) {
    283                 asprintf(&tmp, " %s %s's.", number_to_text(device_copies),
     284                mr_asprintf(&tmp, " %s %s's.", number_to_text(device_copies),
    284285                         device);
    285286                if (!strstr(flaws_str, tmp)) {
    286287                    log_it(tmp);
    287288                    if (flaws_str) {
    288                         asprintf(&tmp1, "%s%s",flaws_str, tmp);
     289                        mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    289290                    } else {
    290                         asprintf(&tmp1, "%s", tmp);
     291                        mr_asprintf(&tmp1, "%s", tmp);
    291292                    }
    292                     paranoid_free(flaws_str);
     293                    mr_free(flaws_str);
    293294                    flaws_str = tmp1;
    294295                    res++;
    295296                }
    296                 paranoid_free(tmp);
     297                mr_free(tmp);
    297298            }
    298299            /* silly partition size? */
    299300            if (mountlist->el[pos].size < 8192
    300301                && strcmp(mountlist->el[pos].mountpoint, "lvm")) {
    301                 asprintf(&tmp, " %s is tiny!", device);
     302                mr_asprintf(&tmp, " %s is tiny!", device);
    302303                log_it(tmp);
    303304                if (flaws_str) {
    304                     asprintf(&tmp1, "%s%s",flaws_str, tmp);
     305                    mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    305306                } else {
    306                     asprintf(&tmp1, "%s", tmp);
    307                 }
    308                 paranoid_free(flaws_str);
     307                    mr_asprintf(&tmp1, "%s", tmp);
     308                }
     309                mr_free(flaws_str);
    309310                flaws_str = tmp1;
    310                 paranoid_free(tmp);
     311                mr_free(tmp);
    311312                res++;
    312313            }
     
    318319                && strcmp(mountlist->el[pos].mountpoint, "none")
    319320                && mountlist->el[pos].mountpoint[0] != '/') {
    320                 asprintf(&tmp, " %s has a weird mountpoint.", device);
     321                mr_asprintf(&tmp, " %s has a weird mountpoint.", device);
    321322                log_it(tmp);
    322323                if (flaws_str) {
    323                     asprintf(&tmp1, "%s%s",flaws_str, tmp);
     324                    mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    324325                } else {
    325                     asprintf(&tmp1, "%s", tmp);
    326                 }
    327                 paranoid_free(flaws_str);
     326                    mr_asprintf(&tmp1, "%s", tmp);
     327                }
     328                mr_free(flaws_str);
    328329                flaws_str = tmp1;
    329                 paranoid_free(tmp);
     330                mr_free(tmp);
    330331                res++;
    331332            }
    332333            /* is format sensible? */
    333334            if (!is_this_a_valid_disk_format(mountlist->el[pos].format)) {
    334                 asprintf(&tmp, " %s has unsupported format %s.", device, mountlist->el[pos].format);
     335                mr_asprintf(&tmp, " %s has unsupported format %s.", device, mountlist->el[pos].format);
    335336                log_it(tmp);
    336337                if (flaws_str) {
    337                     asprintf(&tmp1, "%s%s",flaws_str, tmp);
     338                    mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    338339                } else {
    339                     asprintf(&tmp1, "%s", tmp);
    340                 }
    341                 paranoid_free(flaws_str);
     340                    mr_asprintf(&tmp1, "%s", tmp);
     341                }
     342                mr_free(flaws_str);
    342343                flaws_str = tmp1;
    343                 paranoid_free(tmp);
     344                mr_free(tmp);
    344345                res++;
    345346            }
    346             paranoid_free(device);
     347            mr_free(device);
    347348        } else {
    348349            /* Check subpartitions */
    349350            for (cur_sp_no = 'a'; cur_sp_no < 'z'; ++cur_sp_no) {
    350                 asprintf(&device, "%ss%d%c", drive, curr_part_no,
     351                mr_asprintf(&device, "%ss%d%c", drive, curr_part_no,
    351352                         cur_sp_no);
    352353                pos = find_device_in_mountlist(mountlist, device);
     
    354355                    continue;
    355356                }
    356                 // BERLIOS : useless ? asprintf(&mountpoint, mountlist->el[pos].mountpoint);
     357                // BERLIOS : useless ? mr_asprintf(&mountpoint, mountlist->el[pos].mountpoint);
    357358                /* is it too big? */
    358359                if (curr_part_no > 'h') {
    359                     asprintf(&tmp,
     360                    mr_asprintf(&tmp,
    360361                             " Can only have up to 'h' in disklabel.");
    361362                    log_it(tmp);
    362363                    if (flaws_str) {
    363                         asprintf(&tmp1, "%s%s",flaws_str, tmp);
     364                        mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    364365                    } else {
    365                         asprintf(&tmp1, "%s", tmp);
     366                        mr_asprintf(&tmp1, "%s", tmp);
    366367                    }
    367                     paranoid_free(flaws_str);
     368                    mr_free(flaws_str);
    368369                    flaws_str = tmp1;
    369                     paranoid_free(tmp);
     370                    mr_free(tmp);
    370371                    res++;
    371372                }
     
    378379                }
    379380                if (device_copies > 1) {
    380                     asprintf(&tmp, " %s %s's.",
     381                    mr_asprintf(&tmp, " %s %s's.",
    381382                             number_to_text(device_copies), device);
    382383                    if (!strstr(flaws_str, tmp)) {
    383384                        log_it(tmp);
    384385                        if (flaws_str) {
    385                             asprintf(&tmp1, "%s%s",flaws_str, tmp);
     386                            mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    386387                        } else {
    387                             asprintf(&tmp1, "%s", tmp);
     388                            mr_asprintf(&tmp1, "%s", tmp);
    388389                        }
    389                         paranoid_free(flaws_str);
     390                        mr_free(flaws_str);
    390391                        flaws_str = tmp1;
    391392                        res++;
    392393                    }
    393                     paranoid_free(tmp);
     394                    mr_free(tmp);
    394395                }
    395396                /* silly partition size? */
    396397                if (mountlist->el[pos].size < 8192
    397398                    && strcmp(mountlist->el[pos].mountpoint, "lvm")) {
    398                     asprintf(&tmp, " %s is tiny!", device);
     399                    mr_asprintf(&tmp, " %s is tiny!", device);
    399400                    log_it(tmp);
    400401                    if (flaws_str) {
    401                         asprintf(&tmp1, "%s%s",flaws_str, tmp);
     402                        mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    402403                    } else {
    403                         asprintf(&tmp1, "%s", tmp);
     404                        mr_asprintf(&tmp1, "%s", tmp);
    404405                    }
    405                     paranoid_free(flaws_str);
     406                    mr_free(flaws_str);
    406407                    flaws_str = tmp1;
    407                     paranoid_free(tmp);
     408                    mr_free(tmp);
    408409                    res++;
    409410                }
     
    415416                    && strcmp(mountlist->el[pos].mountpoint, "none")
    416417                    && mountlist->el[pos].mountpoint[0] != '/') {
    417                     asprintf(&tmp, " %s has a weird mountpoint.", device);
     418                    mr_asprintf(&tmp, " %s has a weird mountpoint.", device);
    418419                    log_it(tmp);
    419420                    if (flaws_str) {
    420                         asprintf(&tmp1, "%s%s",flaws_str, tmp);
     421                        mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    421422                    } else {
    422                         asprintf(&tmp1, "%s", tmp);
     423                        mr_asprintf(&tmp1, "%s", tmp);
    423424                    }
    424                     paranoid_free(flaws_str);
     425                    mr_free(flaws_str);
    425426                    flaws_str = tmp1;
    426                     paranoid_free(tmp);
     427                    mr_free(tmp);
    427428                    res++;
    428429                }
     
    430431                if (!is_this_a_valid_disk_format
    431432                    (mountlist->el[pos].format)) {
    432                     asprintf(&tmp, " %s has unsupported format %s.", device, mountlist->el[pos].format);
     433                    mr_asprintf(&tmp, " %s has unsupported format %s.", device, mountlist->el[pos].format);
    433434                    log_it(tmp);
    434435                    if (flaws_str) {
    435                         asprintf(&tmp1, "%s%s",flaws_str, tmp);
     436                        mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    436437                    } else {
    437                         asprintf(&tmp1, "%s", tmp);
     438                        mr_asprintf(&tmp1, "%s", tmp);
    438439                    }
    439                     paranoid_free(flaws_str);
     440                    mr_free(flaws_str);
    440441                    flaws_str = tmp1;
    441                     paranoid_free(tmp);
     442                    mr_free(tmp);
    442443                    res++;
    443444                }
    444445                amount_allocated += mountlist->el[pos].size / 1024;
    445446                prev_sp_no = cur_sp_no;
    446                 paranoid_free(device);
     447                mr_free(device);
    447448            }
    448449        }
     
    456457    if (amount_allocated > physical_drive_size) // Used to be +1, but what if you're 1 MB too high?
    457458    {
    458         asprintf(&tmp, " %ld MB over-allocated on %s.",
     459        mr_asprintf(&tmp, " %ld MB over-allocated on %s.",
    459460                 amount_allocated - physical_drive_size, drive);
    460461        log_it(tmp);
    461462        if (flaws_str) {
    462             asprintf(&tmp1, "%s%s",flaws_str, tmp);
     463            mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    463464        } else {
    464             asprintf(&tmp1, "%s", tmp);
    465         }
    466         paranoid_free(flaws_str);
     465            mr_asprintf(&tmp1, "%s", tmp);
     466        }
     467        mr_free(flaws_str);
    467468        flaws_str = tmp1;
    468         paranoid_free(tmp);
     469        mr_free(tmp);
    469470        res++;
    470471    } else if (amount_allocated < physical_drive_size - 1) {    /* NOT AN ERROR, JUST A WARNING :-) */
    471         asprintf(&tmp, " %ld MB unallocated on %s.",
     472        mr_asprintf(&tmp, " %ld MB unallocated on %s.",
    472473                 physical_drive_size - amount_allocated, drive);
    473474        log_it(tmp);
    474475        if (flaws_str) {
    475             asprintf(&tmp1, "%s%s",flaws_str, tmp);
     476            mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    476477        } else {
    477             asprintf(&tmp1, "%s", tmp);
    478         }
    479         paranoid_free(flaws_str);
     478            mr_asprintf(&tmp1, "%s", tmp);
     479        }
     480        mr_free(flaws_str);
    480481        flaws_str = tmp1;
    481         paranoid_free(tmp);
     482        mr_free(tmp);
    482483    }
    483484    if (res) {
     
    525526
    526527    if (physical_drive_size < 0) {
    527         asprintf(&tmp, " %s does not exist.", drive);
     528        mr_asprintf(&tmp, " %s does not exist.", drive);
    528529        if (flaws_str) {
    529             asprintf(&tmp1, "%s%s",flaws_str, tmp);
     530            mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    530531        } else {
    531             asprintf(&tmp1, "%s", tmp);
    532         }
    533         paranoid_free(flaws_str);
     532            mr_asprintf(&tmp1, "%s", tmp);
     533        }
     534        mr_free(flaws_str);
    534535        flaws_str = tmp1;
    535536        res++;
    536537        log_msg(1, tmp);
    537         paranoid_free(tmp);
     538        mr_free(tmp);
    538539        return (FALSE);
    539540    } else {
    540         asprintf(&tmp, "%s is %ld MB", drive, physical_drive_size);
     541        mr_asprintf(&tmp, "%s is %ld MB", drive, physical_drive_size);
    541542        log_it(tmp);
    542         paranoid_free(tmp);
     543        mr_free(tmp);
    543544    }
    544545
    545546    for (curr_part_no = 1; curr_part_no < 99; curr_part_no++) {
    546         asprintf(&device, "%s%d", drive, curr_part_no);
     547        mr_asprintf(&device, "%s%d", drive, curr_part_no);
    547548        pos = find_device_in_mountlist(mountlist, device);
    548549        if (pos < 0) {
     
    550551        }
    551552        if (physical_drive_size < 0) {
    552             asprintf(&tmp, " %s refers to non-existent hardware.", device);
     553            mr_asprintf(&tmp, " %s refers to non-existent hardware.", device);
    553554            if (flaws_str) {
    554                 asprintf(&tmp1, "%s%s",flaws_str, tmp);
     555                mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    555556            } else {
    556                 asprintf(&tmp1, "%s", tmp);
    557             }
    558             paranoid_free(flaws_str);
     557                mr_asprintf(&tmp1, "%s", tmp);
     558            }
     559            mr_free(flaws_str);
    559560            flaws_str = tmp1;
    560561            res++;
    561             paranoid_free(tmp);
     562            mr_free(tmp);
    562563            continue;
    563564        }
     
    566567        if (curr_part_no - prev_part_no > 1) {
    567568            if (prev_part_no == 0) {
    568                 asprintf(&tmp, " Gap prior to %s.", device);
     569                mr_asprintf(&tmp, " Gap prior to %s.", device);
    569570                log_it(tmp);
    570571                if (flaws_str) {
    571                     asprintf(&tmp1, "%s%s",flaws_str, tmp);
     572                    mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    572573                } else {
    573                     asprintf(&tmp1, "%s", tmp);
    574                 }
    575                 paranoid_free(flaws_str);
     574                    mr_asprintf(&tmp1, "%s", tmp);
     575                }
     576                mr_free(flaws_str);
    576577                flaws_str = tmp1;
    577                 paranoid_free(tmp);
     578                mr_free(tmp);
    578579                res++;
    579580            } else if (curr_part_no > 5
    580581                       || (curr_part_no <= 4 && prev_part_no > 0)) {
    581                 asprintf(&tmp, " Gap between %s%d and %d.", drive,
     582                mr_asprintf(&tmp, " Gap between %s%d and %d.", drive,
    582583                         prev_part_no, curr_part_no);
    583584                log_it(tmp);
    584585                if (flaws_str) {
    585                     asprintf(&tmp1, "%s%s",flaws_str, tmp);
     586                    mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    586587                } else {
    587                     asprintf(&tmp1, "%s", tmp);
    588                 }
    589                 paranoid_free(flaws_str);
     588                    mr_asprintf(&tmp1, "%s", tmp);
     589                }
     590                mr_free(flaws_str);
    590591                flaws_str = tmp1;
    591                 paranoid_free(tmp);
     592                mr_free(tmp);
    592593                res++;
    593594            }
     
    598599        if ((curr_part_no >= 5 && prev_part_no == 4)
    599600            && (strcmp(part_table_fmt, "MBR") == 0)) {
    600             asprintf(&tmp, " Partition %s4 is occupied.", drive);
     601            mr_asprintf(&tmp, " Partition %s4 is occupied.", drive);
    601602            log_it(tmp);
    602603            if (flaws_str) {
    603                 asprintf(&tmp1, "%s%s",flaws_str, tmp);
     604                mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    604605            } else {
    605                 asprintf(&tmp1, "%s", tmp);
    606             }
    607             paranoid_free(flaws_str);
     606                mr_asprintf(&tmp1, "%s", tmp);
     607            }
     608            mr_free(flaws_str);
    608609            flaws_str = tmp1;
    609             paranoid_free(tmp);
     610            mr_free(tmp);
    610611            res++;
    611612        }
    612         paranoid_free(part_table_fmt);
     613        mr_free(part_table_fmt);
    613614
    614615        /* does partition /dev/hdNX exist more than once in the mountlist? */
     
    620621        }
    621622        if (device_copies > 1) {
    622             asprintf(&tmp, " %s %s's.", number_to_text(device_copies),
     623            mr_asprintf(&tmp, " %s %s's.", number_to_text(device_copies),
    623624                     device);
    624625            if (!strstr(flaws_str, tmp)) {
    625626                log_it(tmp);
    626627                if (flaws_str) {
    627                     asprintf(&tmp1, "%s%s",flaws_str, tmp);
     628                    mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    628629                } else {
    629                     asprintf(&tmp1, "%s", tmp);
    630                 }
    631                 paranoid_free(flaws_str);
     630                    mr_asprintf(&tmp1, "%s", tmp);
     631                }
     632                mr_free(flaws_str);
    632633                flaws_str = tmp1;
    633634                res++;
    634635            }
    635             paranoid_free(tmp);
     636            mr_free(tmp);
    636637        }
    637638        /* silly partition size? */
    638639        if (mountlist->el[pos].size < 8192
    639640            && strcmp(mountlist->el[pos].mountpoint, "lvm")) {
    640             asprintf(&tmp, " %s is tiny!", device);
     641            mr_asprintf(&tmp, " %s is tiny!", device);
    641642            log_it(tmp);
    642643            if (flaws_str) {
    643                 asprintf(&tmp1, "%s%s",flaws_str, tmp);
     644                mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    644645            } else {
    645                 asprintf(&tmp1, "%s", tmp);
    646             }
    647             paranoid_free(flaws_str);
     646                mr_asprintf(&tmp1, "%s", tmp);
     647            }
     648            mr_free(flaws_str);
    648649            flaws_str = tmp1;
    649             paranoid_free(tmp);
     650            mr_free(tmp);
    650651            res++;
    651652        }
     
    656657            && strcmp(mountlist->el[pos].mountpoint, "image")
    657658            && mountlist->el[pos].mountpoint[0] != '/') {
    658             asprintf(&tmp, " %s has a weird mountpoint.", device);
     659            mr_asprintf(&tmp, " %s has a weird mountpoint.", device);
    659660            log_it(tmp);
    660661            if (flaws_str) {
    661                 asprintf(&tmp1, "%s%s",flaws_str, tmp);
     662                mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    662663            } else {
    663                 asprintf(&tmp1, "%s", tmp);
    664             }
    665             paranoid_free(flaws_str);
     664                mr_asprintf(&tmp1, "%s", tmp);
     665            }
     666            mr_free(flaws_str);
    666667            flaws_str = tmp1;
    667             paranoid_free(tmp);
     668            mr_free(tmp);
    668669            res++;
    669670        }
    670671        /* is format sensible? */
    671672        if (!is_this_a_valid_disk_format(mountlist->el[pos].format)) {
    672             asprintf(&tmp, " %s has unsupported format %s.", device, mountlist->el[pos].format);
     673            mr_asprintf(&tmp, " %s has unsupported format %s.", device, mountlist->el[pos].format);
    673674            log_it(tmp);
    674675            if (flaws_str) {
    675                 asprintf(&tmp1, "%s%s",flaws_str, tmp);
     676                mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    676677            } else {
    677                 asprintf(&tmp1, "%s", tmp);
    678             }
    679             paranoid_free(flaws_str);
     678                mr_asprintf(&tmp1, "%s", tmp);
     679            }
     680            mr_free(flaws_str);
    680681            flaws_str = tmp1;
    681             paranoid_free(tmp);
     682            mr_free(tmp);
    682683            res++;
    683684        }
     
    685686        amount_allocated += mountlist->el[pos].size / 1024;
    686687        prev_part_no = curr_part_no;
    687         paranoid_free(device);
     688        mr_free(device);
    688689    }
    689690
    690691    /* Over-allocated the disk? Unallocated space on disk? */
    691692    if (amount_allocated > physical_drive_size + 1) {
    692         asprintf(&tmp, " %ld MB over-allocated on %s.",
     693        mr_asprintf(&tmp, " %ld MB over-allocated on %s.",
    693694                 amount_allocated - physical_drive_size, drive);
    694695        log_it(tmp);
    695696        if (flaws_str) {
    696             asprintf(&tmp1, "%s%s",flaws_str, tmp);
     697            mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    697698        } else {
    698             asprintf(&tmp1, "%s", tmp);
    699         }
    700         paranoid_free(flaws_str);
     699            mr_asprintf(&tmp1, "%s", tmp);
     700        }
     701        mr_free(flaws_str);
    701702        flaws_str = tmp1;
    702         paranoid_free(tmp);
     703        mr_free(tmp);
    703704        res++;
    704705    } else if (amount_allocated < physical_drive_size - 1) {    /* NOT AN ERROR, JUST A WARNING :-) */
    705         asprintf(&tmp, " %ld MB unallocated on %s.",
     706        mr_asprintf(&tmp, " %ld MB unallocated on %s.",
    706707                 physical_drive_size - amount_allocated, drive);
    707708        log_it(tmp);
    708709        if (flaws_str) {
    709             asprintf(&tmp1, "%s%s",flaws_str, tmp);
     710            mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
    710711        } else {
    711             asprintf(&tmp1, "%s", tmp);
    712         }
    713         paranoid_free(flaws_str);
     712            mr_asprintf(&tmp1, "%s", tmp);
     713        }
     714        mr_free(flaws_str);
    714715        flaws_str = tmp1;
    715         paranoid_free(tmp);
     716        mr_free(tmp);
    716717    }
    717718
     
    755756    assert(mountlist != NULL);
    756757
    757     asprintf(&flaws_str, " ");
     758    mr_asprintf(&flaws_str, " ");
    758759
    759760    make_list_of_drives_in_mountlist(mountlist, drivelist);
     
    765766            (drivelist->el[i].device,
    766767             DONT_KNOW_HOW_TO_EVALUATE_THIS_DEVICE_TYPE)) {
    767             asprintf(&tmp, " Not evaluating %s (I don't know how yet)",
     768            mr_asprintf(&tmp, " Not evaluating %s (I don't know how yet)",
    768769                     drivelist->el[i].device);
    769770            log_it(tmp);
     
    775776            }
    776777        }
    777         asprintf(&tmp1, "%s%s", flaws_str, tmp);
    778         paranoid_free(tmp);
    779         paranoid_free(flaws_str);
     778        mr_asprintf(&tmp1, "%s%s", flaws_str, tmp);
     779        mr_free(tmp);
     780        mr_free(flaws_str);
    780781        flaws_str = tmp1;
    781782    }
     
    841842
    842843    for (currline = 0; currline < mountlist->entries; currline++) {
    843         asprintf(&curr_mountpoint, mountlist->el[currline].mountpoint);
     844        mr_asprintf(&curr_mountpoint, mountlist->el[currline].mountpoint);
    844845        for (i = 0, copies = 0, last_copy = -1; i < mountlist->entries;
    845846             i++) {
     
    853854        if (copies > 1 && last_copy == currline
    854855            && strcmp(curr_mountpoint, "raid")) {
    855             asprintf(&tmp, " %s %s's.", number_to_text(copies),
     856            mr_asprintf(&tmp, " %s %s's.", number_to_text(copies),
    856857                     curr_mountpoint);
    857858            log_it(tmp);
    858             asprintf(&tmp1, "%s%s",flaws_str, tmp);
    859             paranoid_free(flaws_str);
     859            mr_asprintf(&tmp1, "%s%s",flaws_str, tmp);
     860            mr_free(flaws_str);
    860861            flaws_str = tmp1;
    861             paranoid_free(tmp);
     862            mr_free(tmp);
    862863            res++;
    863864        }
    864         paranoid_free(curr_mountpoint);
     865        mr_free(curr_mountpoint);
    865866    }
    866867    return (res);
     
    895896    for (lino = 0, noof_drives = 0; lino < mountlist->entries; lino++) {
    896897
    897         asprintf(&drive, mountlist->el[lino].device);
     898        mr_asprintf(&drive, mountlist->el[lino].device);
    898899        if (!strncmp(drive, RAID_DEVICE_STUB, strlen(RAID_DEVICE_STUB))) {
    899             asprintf(&tmp,
     900            mr_asprintf(&tmp,
    900901                     "Not putting %s in list of drives: it's a virtual drive",
    901902                     drive);
    902903            log_msg(8, tmp);
    903             paranoid_free(tmp);
     904            mr_free(tmp);
    904905            continue;
    905906        }
     
    907908        size = mountlist->el[lino].size;
    908909        if (size == 0) {
    909             asprintf(&tmp,
     910            mr_asprintf(&tmp,
    910911                     "Not putting %s in list of drives: it has zero size (maybe an LVM volume)",
    911912                     drive);
    912913            log_msg(8, tmp);
    913             paranoid_free(tmp);
     914            mr_free(tmp);
    914915            continue;
    915916        }
     
    926927*/
    927928
    928         asprintf(&tmp,
     929        mr_asprintf(&tmp,
    929930                 "Putting %s with size %lli in list of drives",
    930931                 drive, size);
    931932        log_msg(8, tmp);
    932         paranoid_free(tmp);
     933        mr_free(tmp);
    933934
    934935        (void) truncate_to_drive_name(drive);
     
    940941            strcpy(drivelist->el[noof_drives++].device, drive);
    941942        }
    942         paranoid_free(drive);
     943        mr_free(drive);
    943944
    944945    }
     
    988989                       (void *) &mountlist->el[i],
    989990                       sizeof(struct mountlist_line));
    990                 asprintf(&tmp,
     991                mr_asprintf(&tmp,
    991992                         "%s is available; user may choose to add it to raid device",
    992993                         output_list->el[items - 1].device);
    993994                log_it(tmp);
    994                 paranoid_free(tmp);
     995                mr_free(tmp);
    995996            }
    996997        }
     
    10581059        log_it("Unable to open mountlist - '%s'", fname);
    10591060        log_to_screen(_("Cannot open mountlist"));
    1060         paranoid_free(siz);
     1061        mr_free(siz);
    10611062        return (1);
    10621063    }
    10631064    items = 0;
    1064     (void) getline(&incoming, &n, fin);
     1065    mr_getline(&incoming, &n, fin);
    10651066    log_it("Loading mountlist...");
    10661067    while (!feof(fin)) {
     
    10911092                    "Ignoring %s in mountlist - not loading that line :) ",
    10921093                    mountlist->el[items].device);
    1093             (void) getline(&incoming, &n, fin);
     1094            mr_getline(&incoming, &n, fin);
    10941095            continue;
    10951096        }
     
    11071108            if (j < items) {
    11081109                strcat(mountlist->el[items].device, "_dup");
    1109                 asprintf(&tmp,
     1110                mr_asprintf(&tmp,
    11101111                         "Duplicate entry in mountlist - renaming to %s",
    11111112                         mountlist->el[items].device);
    11121113                log_it(tmp);
    1113                 paranoid_free(tmp);
    1114             }
    1115             asprintf(&tmp, mountlist->el[items].device);
     1114                mr_free(tmp);
     1115            }
     1116            mr_asprintf(&tmp, mountlist->el[items].device);
    11161117            if (strstr(tmp, "/dev/md/")) {
    11171118                log_it("format_device() --- Contracting %s", tmp);
     
    11261127                strcpy(mountlist->el[items].device, tmp);
    11271128            }
    1128             paranoid_free(tmp);
    1129 
    1130             asprintf(&tmp,
     1129            mr_free(tmp);
     1130
     1131            mr_asprintf(&tmp,
    11311132                     "%s %s %s %lld %s",
    11321133                     mountlist->el[items].device,
     
    11371138
    11381139            log_it(tmp);
    1139             paranoid_free(tmp);
     1140            mr_free(tmp);
    11401141            items++;
    11411142        }
    1142         (void) getline(&incoming, &n, fin);
     1143        mr_getline(&incoming, &n, fin);
    11431144    }
    11441145    paranoid_fclose(fin);
    1145     paranoid_free(incoming);
     1146    mr_free(incoming);
    11461147    mountlist->entries = items;
    11471148
    11481149    log_it("Mountlist loaded successfully.");
    1149     asprintf(&tmp, "%d entries in mountlist", items);
     1150    mr_asprintf(&tmp, "%d entries in mountlist", items);
    11501151    log_it(tmp);
    1151     paranoid_free(tmp);
    1152 
    1153     paranoid_free(siz);
     1152    mr_free(tmp);
     1153
     1154    mr_free(siz);
    11541155    return (0);
    11551156}
     
    12641265    assert(b >= 0);
    12651266
    1266     asprintf(&device, mountlist->el[a].device);
    1267     asprintf(&mountpoint, mountlist->el[a].mountpoint);
    1268     asprintf(&format, mountlist->el[a].format);
     1267    mr_asprintf(&device, mountlist->el[a].device);
     1268    mr_asprintf(&mountpoint, mountlist->el[a].mountpoint);
     1269    mr_asprintf(&format, mountlist->el[a].format);
    12691270
    12701271    size = mountlist->el[a].size;
Note: See TracChangeset for help on using the changeset viewer.