Changeset 2340 in MondoRescue for branches/2.2.10/mondo/src


Ignore:
Timestamp:
Aug 21, 2009, 1:53:49 AM (16 years ago)
Author:
Bruno Cornec
Message:
  • New compiler flogs introduce for memory check
  • Other dyn. allocation added replacing static ones
  • Option -Y is added for LZMA support
Location:
branches/2.2.10/mondo/src
Files:
5 edited

Legend:

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

    r2331 r2340  
    211211    char *outfname = NULL;
    212212    char *biggie_fname = NULL;
    213     char *incoming;
     213    char *incoming = NULL;
    214214    char *tmp = NULL;
    215215
     
    257257        return (curr_set_no + 1);
    258258    }
    259     incoming = malloc(MAX_STR_LEN * 2);
    260 
    261     (void) fgets(incoming, MAX_STR_LEN * 2 - 1, fin);
     259
     260    mr_getline(incoming, fin);
    262261    while (!feof(fin)) {
    263262        lino++;
     
    266265            i = 0;
    267266        }
     267        /* Now that we dyn. alloc is truncating needed ?
    268268        if (i > MAX_STR_LEN - 1) {
    269269            incoming[MAX_STR_LEN - 30] = '\0';
     
    271271            err++;
    272272        }
     273        */
    273274        if (incoming[i] < 32) {
    274275            incoming[i] = '\0';
     
    299300                    mr_free(outfname);
    300301                    mr_free(biggie_fname);
    301                     paranoid_free(incoming);
     302                    mr_free(incoming);
    302303                    return (curr_set_no + 1);
    303304                }
     
    305306            }
    306307        }
    307         (void) fgets(incoming, MAX_STR_LEN * 2 - 1, fin);
    308     }
    309     paranoid_free(incoming);
     308        mr_free(incoming);
     309        mr_getline(incoming, fin);
     310    }
     311    mr_free(incoming);
     312
    310313    paranoid_fclose(fin);
    311314    paranoid_fclose(fout);
     
    13321335 * @bug Return value should be @c void.
    13331336 */
    1334 int open_and_list_dir(char *dir1, char *sth, FILE * fout,
    1335                       time_t time_of_last_full_backup)
    1336 {
     1337int open_and_list_dir(char *dir1, char *sth, FILE * fout, time_t time_of_last_full_backup) {
     1338
    13371339    const char delims[] = " ";
    13381340
     
    13411343    struct stat statbuf;
    13421344    char *new;
    1343     char *tmp;
     1345    char *tmp = NULL;
    13441346    char *dir = NULL;
    13451347    static int percentage = 0;
    1346     char *skip_these;
    1347     char *new_with_spaces;
     1348    char *skip_these = NULL;
     1349    char *new_with_spaces = NULL;
    13481350    char *strtmp;
    13491351    char *token;
    1350     char *find_excludes;
    1351     static char *name_of_evalcall_form;
     1352    char *find_excludes = NULL;
     1353    char *name_of_evalcall_form = NULL;
     1354    char *find_skeleton_marker = NULL;
    13521355    int i;
    13531356    int lastpos = 0;
     
    13561359    static int counter = 0;
    13571360    static int uberctr = 0;
    1358     static char *find_skeleton_marker;
    1359     static long skeleton_lino = 0;
    1360     static time_t last_time = 0;
     1361    static long skeleton_lino = 0L;
     1362    static time_t last_time = (time_t)0;
    13611363    time_t this_time;
    13621364
     
    13711373
    13721374    if (!depth) {
    1373         malloc_string(name_of_evalcall_form);
    1374         malloc_string(find_skeleton_marker);
    13751375        mr_asprintf(find_excludes, " ");
    13761376        if (sth != NULL) {
     
    13971397        mr_free(tmp);
    13981398
    1399         sprintf(name_of_evalcall_form, "Making catalog of %s", dir);
     1399        mr_asprintf(name_of_evalcall_form, "Making catalog of %s", dir);
    14001400        open_evalcall_form(name_of_evalcall_form);
    1401         find_skeleton_marker[0] = '\0';
     1401        mr_free(name_of_evalcall_form);
     1402
    14021403        skeleton_lino = 1;
    14031404        log_msg(5, "entries = %ld", g_skeleton_entries);
     
    14051406    } else  // update evalcall form if appropriate
    14061407    {
    1407         sprintf(find_skeleton_marker,
    1408                 "grep -Fv '%s' %s > %s.new 2> /dev/null", dir,
    1409                 g_skeleton_filelist, g_skeleton_filelist);
     1408        mr_asprintf(find_skeleton_marker, "grep -Fv '%s' %s > %s.new 2> /dev/null", dir, g_skeleton_filelist, g_skeleton_filelist);
    14101409        if (!system(find_skeleton_marker)) {
    14111410            percentage = (int) (skeleton_lino * 100 / g_skeleton_entries);
    14121411            skeleton_lino++;
    1413             sprintf(find_skeleton_marker, "mv -f %s.new %s",
    1414                     g_skeleton_filelist, g_skeleton_filelist);
    1415             run_program_and_log_output(find_skeleton_marker, 8);
     1412            mr_free(find_skeleton_marker);
     1413
     1414            mr_asprintf(find_skeleton_marker, "mv -f %s.new %s", g_skeleton_filelist, g_skeleton_filelist);
     1415            (void)system(find_skeleton_marker);
    14161416            time(&this_time);
    14171417            if (this_time != last_time) {
     
    14271427            }
    14281428        }
     1429        mr_free(find_skeleton_marker);
    14291430    }
    14301431
     
    14531454                mr_asprintf(new,"%s%s",dir,dit->d_name);
    14541455            }
    1455             paranoid_free(new_with_spaces);
     1456            mr_free(new_with_spaces);
    14561457            mr_asprintf(new_with_spaces, " %s ", new);
    14571458            if (strstr(skip_these, new_with_spaces)) {
     
    14631464                    if (!S_ISLNK(statbuf.st_mode)
    14641465                        && S_ISDIR(statbuf.st_mode)) {
    1465                         open_and_list_dir(new, skip_these, fout,
    1466                                           time_of_last_full_backup);
     1466                        open_and_list_dir(new, skip_these, fout, time_of_last_full_backup);
    14671467                    } else {
    1468                         if (time_of_last_full_backup == 0
    1469                             || time_of_last_full_backup <
    1470                             statbuf.st_ctime) {
     1468                        if (time_of_last_full_backup == 0 || time_of_last_full_backup < statbuf.st_ctime) {
    14711469                            fprintf(fout, "%s\n", new);
    14721470                            if ((counter++) > 128) {
    14731471                                counter = 0;
    14741472                                uberctr++;
     1473#ifndef _XWIN
    14751474                                mr_asprintf(tmp, " %c ", special_dot_char(uberctr));
    1476 #ifndef _XWIN
    14771475                                if (!g_text_mode) {
    14781476                                    newtDrawRootText(77, g_noof_rows - 3, tmp);
    14791477                                    newtRefresh();
    14801478                                }
     1479                                mr_free(tmp);
    14811480#endif
    1482                                 mr_free(tmp);
    14831481                            }
    14841482                        }
     
    14861484                }
    14871485            }
    1488             paranoid_free(new);
    1489         }
    1490     }
    1491     paranoid_free(new_with_spaces);
    1492     paranoid_free(skip_these);
     1486            mr_free(new);
     1487        }
     1488    }
     1489    mr_free(new_with_spaces);
     1490    mr_free(skip_these);
    14931491    mr_free(dir);
    14941492
     
    15011499    if (!depth) {
    15021500        close_evalcall_form();
    1503         paranoid_free(name_of_evalcall_form);
    1504         paranoid_free(find_skeleton_marker);
    15051501        unlink(g_skeleton_filelist);
    15061502        log_msg(5, "g_skeleton_entries = %ld", g_skeleton_entries);
     
    15961592                                  ("date +%s"));
    15971593    } else if (lstat(sz_datefile, &statbuf)) {
    1598         log_msg(2,
    1599                 "Warning - unable to find date of previous backup. Full backup instead.");
     1594        log_msg(2, "Warning - unable to find date of previous backup. Full backup instead.");
    16001595        differential = 0;
    16011596        time_of_last_full_backup = 0;
     
    16081603// use user-specified filelist (if specified)
    16091604    if (userdef_filelist) {
    1610         log_msg(1,
    1611                 "Using the user-specified filelist - %s - instead of calculating one",
    1612                 userdef_filelist);
     1605        log_msg(1, "Using the user-specified filelist - %s - instead of calculating one", userdef_filelist);
    16131606        mr_asprintf(command, "cp -f %s %s", userdef_filelist, sz_filelist);
    16141607        if (run_program_and_log_output(command, 3)) {
  • branches/2.2.10/mondo/src/common/newt-specific.c

    r2334 r2340  
    378378 * @note This function never returns.
    379379 */
    380     void
    381      finish(int signal) {
     380    void finish(int signal) {
     381
    382382        char *command = NULL;
    383383
     
    393393            mr_free(command);
    394394        }
    395         if (!g_text_mode) {
    396             log_msg(1, "Calling newtFinished()");
    397             newtFinished();
    398         }
    399         printf("Execution run ended; result=%d\n", signal);
    400         printf("Type 'less %s' to see the output log\n", MONDO_LOGFILE);
    401395        if (bkpinfo->tmpdir) {
    402396            log_msg(8,"tempdir is %s",bkpinfo->tmpdir);
     
    421415        free_libmondo_global_strings();
    422416        free_newt_stuff();
     417        if (!g_text_mode) {
     418            log_msg(1, "Calling newtFinished()");
     419            newtFinished();
     420        }
     421        printf("Execution run ended; result=%d\n", signal);
     422        printf("Type 'less %s' to see the output log\n", MONDO_LOGFILE);
    423423        exit(signal);
    424424    }
    425 
    426 
    427 
    428425
    429426
     
    998995                mr_free(taskprogress);
    999996            } else {
    1000                 newtScaleSet(g_isoform_scale,
    1001                              (unsigned long long) percentage);
     997                newtScaleSet(g_isoform_scale, (unsigned long long) percentage);
    1002998                if (g_isoform_pcline) {
    1003999                    newtLabelSetText(g_isoform_pcline, pcline_str);
  • branches/2.2.10/mondo/src/include/my-stuff.h

    r2334 r2340  
    88// Extra info for ACLs and SELINUX users
    99#define STAR_ACL_SZ "-xfflags -acl"
    10 //#define STAR_ACL_SZ "-xfflags"
    11 //#define STAR_ACL_SZ ""
    12 // Enable the first line and disable the second if you are a Fedora Core 2 user
    1310
    1411/**
  • branches/2.2.10/mondo/src/mondoarchive/mondoarchive.c

    r2325 r2340  
    3636extern t_bkptype g_backup_media_type;
    3737extern int g_loglevel;
     38extern char *g_magicdev_command;
    3839
    3940/**
     
    7172    char *tmp = NULL;
    7273
    73     log_msg(0, "Mondo Archive v%s --- http://www.mondorescue.org",
    74             PACKAGE_VERSION);
     74    log_msg(0, "Mondo Archive v%s --- http://www.mondorescue.org", PACKAGE_VERSION);
    7575    log_msg(0, "running %s binaries", get_architecture());
    7676    tmp = get_uname_m();
    7777    log_msg(0, "running on %s architecture", tmp);
    7878    mr_free(tmp);
    79     log_msg(0,
    80             "-----------------------------------------------------------");
    81     log_msg(0,
    82             "NB: Mondo logs almost everything, so don't panic if you see");
    83     log_msg(0,
    84             "some error messages.  Please read them carefully before you");
    85     log_msg(0,
    86             "decide to break out in a cold sweat.    Despite (or perhaps");
    87     log_msg(0,
    88             "because of) the wealth of messages. some users are inclined");
    89     log_msg(0,
    90             "to stop reading this log. If Mondo stopped for some reason,");
    91     log_msg(0,
    92             "chances are it's detailed here.  More than likely there's a");
    93     log_msg(0,
    94             "message at the very end of this log that will tell you what");
    95     log_msg(0,
    96             "is wrong. Please read it!                          -Devteam");
    97     log_msg(0,
    98             "-----------------------------------------------------------");
     79    log_msg(0, "-----------------------------------------------------------");
     80    log_msg(0, "NB: Mondo logs almost everything, so don't panic if you see");
     81    log_msg(0, "some error messages.  Please read them carefully before you");
     82    log_msg(0, "decide to break out in a cold sweat.    Despite (or perhaps");
     83    log_msg(0, "because of) the wealth of messages. some users are inclined");
     84    log_msg(0, "to stop reading this log. If Mondo stopped for some reason,");
     85    log_msg(0, "chances are it's detailed here.  More than likely there's a");
     86    log_msg(0, "message at the very end of this log that will tell you what");
     87    log_msg(0, "is wrong. Please read it!                          -Devteam");
     88    log_msg(0, "-----------------------------------------------------------");
    9989
    10090    log_msg(0, "Zero...");
     
    10797    log_msg(7, "Seven...");
    10898    log_msg(8, "Eight...");
    109     printf("See %s for details of backup run.\n", MONDO_LOGFILE);
    11099}
    111100
    112 
    113 extern char *g_magicdev_command;
    114101
    115102/**
     
    174161    printf("Initializing...\n");
    175162
    176     bkpinfo = (struct s_bkpinfo *)mr_malloc(sizeof(struct s_bkpinfo));
    177163    init_bkpinfo();
    178164
     
    316302
    317303    if (pre_param_configuration()) {
    318         fatal_error
    319             ("Pre-param initialization phase failed. Please review the error messages above, make the specified changes, then try again. Exiting...");
    320     }
    321 
    322 /* Process command line, if there is one. If not, ask user for info. */
     304        fatal_error("Pre-param initialization phase failed. Please review the error messages above, make the specified changes, then try again. Exiting...");
     305    }
     306
     307    /* Process command line, if there is one. If not, ask user for info. */
    323308    if (argc == 1) {
    324309        res = interactively_obtain_media_parameters_from_user(TRUE);    /* yes, archiving */
    325310        if (res) {
    326             fatal_error
    327                 ("Syntax error. Please review the parameters you have supplied and try again.");
     311            fatal_error("Syntax error. Please review the parameters you have supplied and try again.");
    328312        }
    329313    } else {
    330314        res = handle_incoming_parameters(argc, argv);
    331315        if (res) {
    332             printf
    333                 ("Errors were detected in the command line you supplied.\n");
     316            printf("Errors were detected in the command line you supplied.\n");
    334317            printf("Please review the log file - %s\n", MONDO_LOGFILE );
    335318            log_msg(1, "Mondoarchive will now exit.");
  • branches/2.2.10/mondo/src/mondoarchive/mondoarchive.h

    r1967 r2340  
    99 */
    1010char *MONDO_LOGFILE = "/var/log/mondoarchive.log";
    11 char *MONDO_OPTIONS = "0123456789A:B:C:DE:GHI:J:K:LNOP:QRS:T:UVWb:c:d:ef:gik:l:mn:op:rs:tuw:x:z";
     11char *MONDO_OPTIONS = "0123456789A:B:C:DE:GHI:J:K:LNOP:QRS:T:UVWYb:c:d:ef:gik:l:mn:op:rs:tuw:x:z";
    1212
    1313/* No restriction on ps options */
Note: See TracChangeset for help on using the changeset viewer.