Changeset 900 in MondoRescue for trunk/mondo/src/mondoarchive/mondo-cli.c
- Timestamp:
- Oct 24, 2006, 8:49:18 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mondo/src/mondoarchive/mondo-cli.c
r815 r900 14 14 #include <pthread.h> 15 15 #endif 16 #include "mr_mem.h" 16 17 17 18 extern int g_loglevel; … … 82 83 for (i = 0; i < 128; i++) { 83 84 if (flag_set[i]) { 84 asprintf(&tmp, "-%c %s", i, flag_val[i]);85 mr_asprintf(&tmp, "-%c %s", i, flag_val[i]); 85 86 log_msg(3, tmp); 86 paranoid_free(tmp);87 mr_free(tmp); 87 88 } 88 89 } 89 90 // } 90 asprintf(&tmp, "rm -Rf %s/mondo.tmp.*", bkpinfo->tmpdir);91 mr_asprintf(&tmp, "rm -Rf %s/mondo.tmp.*", bkpinfo->tmpdir); 91 92 paranoid_system(tmp); 92 paranoid_free(tmp);93 94 asprintf(&tmp, "rm -Rf %s/mondo.scratch.*", bkpinfo->scratchdir);93 mr_free(tmp); 94 95 mr_asprintf(&tmp, "rm -Rf %s/mondo.scratch.*", bkpinfo->scratchdir); 95 96 paranoid_system(tmp); 96 paranoid_free(tmp);97 mr_free(tmp); 97 98 98 99 /* BERLIOS : Useless ??? … … 103 104 */ 104 105 105 asprintf(&tmp, "mkdir -p %s/tmpfs", bkpinfo->tmpdir);106 mr_asprintf(&tmp, "mkdir -p %s/tmpfs", bkpinfo->tmpdir); 106 107 paranoid_system(tmp); 107 paranoid_free(tmp);108 109 asprintf(&tmp, "mkdir -p %s", bkpinfo->scratchdir);108 mr_free(tmp); 109 110 mr_asprintf(&tmp, "mkdir -p %s", bkpinfo->scratchdir); 110 111 paranoid_system(tmp); 111 paranoid_free(tmp);112 mr_free(tmp); 112 113 113 114 if (bkpinfo->nfs_mount != NULL) { … … 139 140 for (j = 1, p = value; j < MAX_NOOF_MEDIA && strchr(p, ','); 140 141 j++, p = strchr(p, ',') + 1) { 141 asprintf(&tmp, p);142 mr_asprintf(&tmp, p); 142 143 q = strchr(tmp, ','); 143 144 if (q != NULL) { … … 145 146 } 146 147 bkpinfo->media_size[j] = friendly_sizestr_to_sizelong(tmp); 147 paranoid_free(tmp);148 149 asprintf(&comment, "media_size[%d] = %ld", j,148 mr_free(tmp); 149 150 mr_asprintf(&comment, "media_size[%d] = %ld", j, 150 151 bkpinfo->media_size[j]); 151 152 log_msg(3, comment); 152 paranoid_free(comment);153 mr_free(comment); 153 154 } 154 155 for (; j <= MAX_NOOF_MEDIA; j++) { … … 245 246 } 246 247 } 247 paranoid_free(tmp);248 mr_free(tmp); 248 249 249 250 if (flag_set['R']) { … … 257 258 } 258 259 } 259 paranoid_free(tmp1);260 mr_free(tmp1); 260 261 261 262 if (flag_set['W']) { … … 276 277 bkpinfo->include_paths = NULL; 277 278 } 278 asprintf(&tmp1, flag_val['I']);279 mr_asprintf(&tmp1, flag_val['I']); 279 280 p = tmp1; 280 281 q = tmp1; … … 298 299 } 299 300 } 300 paranoid_free(tmp1);301 mr_free(tmp1); 301 302 302 303 if (bkpinfo->include_paths == NULL) { 303 asprintf(&tmp1, "%s", flag_val['I']);304 mr_asprintf(&tmp1, "%s", flag_val['I']); 304 305 } else { 305 asprintf(&tmp1, "%s %s", bkpinfo->include_paths, flag_val['I']);306 } 307 paranoid_alloc(bkpinfo->include_paths,tmp1);308 paranoid_free(tmp1);306 mr_asprintf(&tmp1, "%s %s", bkpinfo->include_paths, flag_val['I']); 307 } 308 mr_allocstr(bkpinfo->include_paths,tmp1); 309 mr_free(tmp1); 309 310 310 311 log_msg(1, "include_paths is now '%s'", bkpinfo->include_paths); … … 328 329 } 329 330 bkpinfo->make_filelist = FALSE; 330 paranoid_alloc(bkpinfo->include_paths, flag_val['J']);331 mr_allocstr(bkpinfo->include_paths, flag_val['J']); 331 332 } 332 333 … … 384 385 } 385 386 flag_set['d'] = TRUE; 386 paranoid_free(tmp); // allocation from find_tape_device_and_size387 388 asprintf(&tmp,387 mr_free(tmp); // allocation from find_tape_device_and_size 388 389 mr_asprintf(&tmp, 389 390 _("You didn't specify a tape streamer device. I'm assuming %s"), 390 391 flag_val['d']); 391 392 log_to_screen(tmp); 392 paranoid_free(tmp);393 mr_free(tmp); 393 394 percent = 0; 394 395 } … … 412 413 } 413 414 if (!flag_set['s']) { 414 asprintf(&flag_val['s'], "%dm", DEFAULT_DVD_DISK_SIZE); // 4.7 salesman's GB = 4.482 real GB = 4582 MB415 mr_asprintf(&flag_val['s'], "%dm", DEFAULT_DVD_DISK_SIZE); // 4.7 salesman's GB = 4.482 real GB = 4582 MB 415 416 log_to_screen 416 417 (_("You did not specify a size (-s) for DVD. I'm guessing %s."), … … 454 455 } 455 456 if (flag_set['n']) { 456 paranoid_alloc(bkpinfo->nfs_mount,flag_val['n']);457 mr_allocstr(bkpinfo->nfs_mount,flag_val['n']); 457 458 if (!flag_set['d']) { 458 paranoid_alloc(bkpinfo->nfs_remote_dir,"/");459 } 460 asprintf(&tmp, "mount | grep -x \"%s .*\" | cut -d' ' -f3",459 mr_allocstr(bkpinfo->nfs_remote_dir,"/"); 460 } 461 mr_asprintf(&tmp, "mount | grep -x \"%s .*\" | cut -d' ' -f3", 461 462 bkpinfo->nfs_mount); 462 paranoid_free(bkpinfo->isodir);463 mr_free(bkpinfo->isodir); 463 464 bkpinfo->isodir = call_program_and_get_last_line_of_output(tmp); 464 paranoid_free(tmp);465 mr_free(tmp); 465 466 466 467 if (strlen(bkpinfo->isodir) < 3) { … … 503 504 504 505 if (flag_set['E']) { 505 asprintf(&tmp1, flag_val['E']);506 mr_asprintf(&tmp1, flag_val['E']); 506 507 p = tmp1; 507 508 q = tmp1; … … 531 532 } 532 533 } 533 paranoid_free(tmp1);534 mr_free(tmp1); 534 535 535 536 if (bkpinfo->exclude_paths == NULL) { 536 asprintf(&tmp1, "%s", flag_val['E']);537 mr_asprintf(&tmp1, "%s", flag_val['E']); 537 538 } else { 538 asprintf(&tmp1, "%s %s", bkpinfo->exclude_paths, flag_val['E']);539 } 540 paranoid_alloc(bkpinfo->exclude_paths,tmp1);541 paranoid_free(tmp1);539 mr_asprintf(&tmp1, "%s %s", bkpinfo->exclude_paths, flag_val['E']); 540 } 541 mr_allocstr(bkpinfo->exclude_paths,tmp1); 542 mr_free(tmp1); 542 543 } 543 544 … … 550 551 psz = list_of_NFS_mounts_only(); 551 552 if (bkpinfo->exclude_paths != NULL) { 552 asprintf(&tmp1, "%s %s", bkpinfo->exclude_paths, psz);553 mr_asprintf(&tmp1, "%s %s", bkpinfo->exclude_paths, psz); 553 554 } else { 554 asprintf(&tmp1, "%s", psz);555 } 556 paranoid_free(psz);557 paranoid_alloc(bkpinfo->exclude_paths, tmp1);558 paranoid_free(tmp1);555 mr_asprintf(&tmp1, "%s", psz); 556 } 557 mr_free(psz); 558 mr_allocstr(bkpinfo->exclude_paths, tmp1); 559 mr_free(tmp1); 559 560 560 561 log_msg(3, "-N means we're now excluding %s", … … 563 564 564 565 if (flag_set['b']) { 565 asprintf(&psz, flag_val['b']);566 mr_asprintf(&psz, flag_val['b']); 566 567 log_msg(1, "psz = '%s'", psz); 567 568 if (psz[strlen(psz) - 1] == 'k') { … … 571 572 itbs = atol(psz); 572 573 } 573 paranoid_free(psz);574 mr_free(psz); 574 575 575 576 log_msg(1, "'%s' --> %ld", flag_val['b'], itbs); … … 592 593 593 594 if (flag_set['x']) { 594 paranoid_alloc(bkpinfo->image_devs,flag_val['x']);595 mr_allocstr(bkpinfo->image_devs,flag_val['x']); 595 596 if (run_program_and_log_output("which ntfsclone", 2)) { 596 597 fatal_error("Please install ntfsprogs package/tarball."); … … 604 605 if (flag_set['k']) { 605 606 if (strcasecmp(flag_val['k'], "FAILSAFE")) { 606 paranoid_alloc(bkpinfo->kernel_path,"FAILSAFE");607 mr_allocstr(bkpinfo->kernel_path,"FAILSAFE"); 607 608 608 609 if (!does_file_exist(bkpinfo->kernel_path)) { 609 610 retval++; 610 asprintf(&tmp,611 mr_asprintf(&tmp, 611 612 _("You specified kernel '%s', which does not exist\n"), 612 613 bkpinfo->kernel_path); 613 614 log_to_screen(tmp); 614 paranoid_free(tmp);615 mr_free(tmp); 615 616 } 616 617 } else { 617 paranoid_alloc(bkpinfo->kernel_path,flag_val['k']);618 mr_allocstr(bkpinfo->kernel_path,flag_val['k']); 618 619 } 619 620 } 620 621 621 622 if (flag_set['p']) { 622 paranoid_alloc(bkpinfo->prefix,flag_val['p']);623 mr_allocstr(bkpinfo->prefix,flag_val['p']); 623 624 } 624 625 625 626 if (flag_set['d']) { /* backup directory (if ISO/NFS) */ 626 627 if (flag_set['i']) { 627 paranoid_alloc(bkpinfo->isodir,flag_val['d']);628 asprintf(&tmp, "ls -l %s", bkpinfo->isodir);628 mr_allocstr(bkpinfo->isodir,flag_val['d']); 629 mr_asprintf(&tmp, "ls -l %s", bkpinfo->isodir); 629 630 if (run_program_and_log_output(tmp, FALSE)) { 630 631 fatal_error 631 632 ("output folder does not exist - please create it"); 632 633 } 633 paranoid_free(tmp);634 mr_free(tmp); 634 635 } else if (flag_set['n']) { 635 paranoid_alloc(bkpinfo->nfs_remote_dir,flag_val['d']);636 mr_allocstr(bkpinfo->nfs_remote_dir,flag_val['d']); 636 637 } else { /* backup device (if tape/CD-R/CD-RW) */ 637 638 638 paranoid_alloc(bkpinfo->media_device, flag_val['d']);639 mr_allocstr(bkpinfo->media_device, flag_val['d']); 639 640 } 640 641 } 641 642 642 643 if (flag_set['n']) { 643 asprintf(&tmp, "echo hi > %s/%s/.dummy.txt", bkpinfo->isodir,644 mr_asprintf(&tmp, "echo hi > %s/%s/.dummy.txt", bkpinfo->isodir, 644 645 bkpinfo->nfs_remote_dir); 645 646 if (run_program_and_log_output(tmp, FALSE)) { 646 647 retval++; 647 paranoid_free(tmp);648 asprintf(&tmp,648 mr_free(tmp); 649 mr_asprintf(&tmp, 649 650 _("Are you sure directory '%s' exists in remote dir '%s'?\nIf so, do you have rights to write to it?\n"), 650 651 bkpinfo->nfs_remote_dir, bkpinfo->nfs_mount); 651 652 log_to_screen(tmp); 652 653 } 653 paranoid_free(tmp);654 mr_free(tmp); 654 655 } 655 656 … … 664 665 } 665 666 } else if ((tmp = find_cdrw_device()) == NULL) { 666 paranoid_alloc(bkpinfo->media_device, tmp);667 paranoid_free(tmp);667 mr_allocstr(bkpinfo->media_device, tmp); 668 mr_free(tmp); 668 669 retval++; 669 670 log_to_screen … … 671 672 } else { 672 673 flag_set['d'] = TRUE; 673 asprintf(&flag_val['d'], bkpinfo->media_device);674 mr_asprintf(&flag_val['d'], bkpinfo->media_device); 674 675 } 675 676 } … … 689 690 j = (int) random() % 32768; 690 691 if (flag_set['S']) { 691 asprintf(&tmp, "%s/mondo.scratch.%d", flag_val['S'], j);692 paranoid_free(bkpinfo->scratchdir);692 mr_asprintf(&tmp, "%s/mondo.scratch.%d", flag_val['S'], j); 693 mr_free(bkpinfo->scratchdir); 693 694 bkpinfo->scratchdir = tmp; 694 695 } 695 696 if (flag_set['T']) { 696 asprintf(&tmp, "%s/mondo.tmp.%d", flag_val['T'], j);697 paranoid_free(bkpinfo->tmpdir);697 mr_asprintf(&tmp, "%s/mondo.tmp.%d", flag_val['T'], j); 698 mr_free(bkpinfo->tmpdir); 698 699 bkpinfo->tmpdir = tmp; 699 asprintf(&tmp, "touch %s/.foo.dat", flag_val['T']);700 mr_asprintf(&tmp, "touch %s/.foo.dat", flag_val['T']); 700 701 if (run_program_and_log_output(tmp, 1)) { 701 702 retval++; … … 704 705 fatal_error("I cannot write to the tempdir you specified."); 705 706 } 706 paranoid_free(tmp);707 708 asprintf(&tmp, "ln -sf %s/.foo.dat %s/.bar.dat", flag_val['T'],707 mr_free(tmp); 708 709 mr_asprintf(&tmp, "ln -sf %s/.foo.dat %s/.bar.dat", flag_val['T'], 709 710 flag_val['T']); 710 711 if (run_program_and_log_output(tmp, 1)) { … … 714 715 fatal_error("I cannot write to the tempdir you specified."); 715 716 } 716 paranoid_free(tmp);717 mr_free(tmp); 717 718 } 718 719 719 720 if (flag_set['A']) { 720 paranoid_alloc(bkpinfo->call_after_iso,flag_val['A']);721 mr_allocstr(bkpinfo->call_after_iso,flag_val['A']); 721 722 } 722 723 if (flag_set['B']) { 723 paranoid_alloc(bkpinfo->call_before_iso,flag_val['B']);724 mr_allocstr(bkpinfo->call_before_iso,flag_val['B']); 724 725 } 725 726 if (flag_set['F']) { … … 753 754 if (flag_set['f']) { 754 755 tmp = resolve_softlinks_to_get_to_actual_device_file(flag_val['f']); 755 paranoid_alloc(bkpinfo->boot_device,tmp);756 mr_allocstr(bkpinfo->boot_device,tmp); 756 757 } 757 758 if (flag_set['Q']) { … … 763 764 log_msg(3, "boot loader is %c, residing at %s", i, tmp); 764 765 printf(_("boot loader is %c, residing at %s\n"), i, tmp); 765 paranoid_free(tmp);766 mr_free(tmp); 766 767 finish(0); 767 768 } 768 paranoid_free(tmp);769 mr_free(tmp); 769 770 770 771 if (flag_set['P']) { 771 paranoid_alloc(bkpinfo->postnuke_tarball,flag_val['P']);772 mr_allocstr(bkpinfo->postnuke_tarball,flag_val['P']); 772 773 } 773 774 … … 883 884 if (flag_set[optopt]) { 884 885 bad_switches = TRUE; 885 asprintf(&tmp, _("Switch -%c previously defined as %s\n"), opt,886 mr_asprintf(&tmp, _("Switch -%c previously defined as %s\n"), opt, 886 887 flag_val[i]); 887 888 log_to_screen(tmp); 888 paranoid_free(tmp);889 mr_free(tmp); 889 890 } else { 890 891 flag_set[opt] = TRUE; … … 900 901 if (strchr(flag_val[opt], '/') 901 902 && flag_val[opt][0] != '/') { 902 asprintf(&tmp,903 mr_asprintf(&tmp, 903 904 _("-%c flag --- must be absolute path --- '%s' isn't absolute"), 904 905 opt, flag_val[opt]); 905 906 log_to_screen(tmp); 906 paranoid_free(tmp);907 mr_free(tmp); 907 908 bad_switches = TRUE; 908 909 } 909 910 } 910 asprintf(&flag_val[opt], optarg);911 mr_asprintf(&flag_val[opt], optarg); 911 912 } 912 913 } … … 915 916 for (i = optind; i < argc; i++) { 916 917 bad_switches = TRUE; 917 asprintf(&tmp, _("Invalid arg -- %s\n"), argv[i]);918 mr_asprintf(&tmp, _("Invalid arg -- %s\n"), argv[i]); 918 919 log_to_screen(tmp); 919 paranoid_free(tmp);920 mr_free(tmp); 920 921 } 921 922 return (bad_switches); … … 946 947 switch (sig) { 947 948 case SIGINT: 948 asprintf(&tmp, _("SIGINT signal received from OS"));949 asprintf(&tmp2, _("You interrupted me :-)"));949 mr_asprintf(&tmp, _("SIGINT signal received from OS")); 950 mr_asprintf(&tmp2, _("You interrupted me :-)")); 950 951 break; 951 952 case SIGKILL: 952 asprintf(&tmp, _("SIGKILL signal received from OS"));953 asprintf(&tmp2,953 mr_asprintf(&tmp, _("SIGKILL signal received from OS")); 954 mr_asprintf(&tmp2, 954 955 _("I seriously have no clue how this signal even got to me. Something's wrong with your system.")); 955 956 break; 956 957 case SIGTERM: 957 asprintf(&tmp, _("SIGTERM signal received from OS"));958 asprintf(&tmp2, _("Got terminate signal"));958 mr_asprintf(&tmp, _("SIGTERM signal received from OS")); 959 mr_asprintf(&tmp2, _("Got terminate signal")); 959 960 break; 960 961 case SIGHUP: 961 asprintf(&tmp, _("SIGHUP signal received from OS"));962 asprintf(&tmp2, _("Hangup on line"));962 mr_asprintf(&tmp, _("SIGHUP signal received from OS")); 963 mr_asprintf(&tmp2, _("Hangup on line")); 963 964 break; 964 965 case SIGSEGV: 965 asprintf(&tmp, _("SIGSEGV signal received from OS"));966 asprintf(&tmp2,966 mr_asprintf(&tmp, _("SIGSEGV signal received from OS")); 967 mr_asprintf(&tmp2, 967 968 _("Internal programming error. Please send a backtrace as well as your log.")); 968 969 break; 969 970 case SIGPIPE: 970 asprintf(&tmp, _("SIGPIPE signal received from OS"));971 asprintf(&tmp2, _("Pipe was broken"));971 mr_asprintf(&tmp, _("SIGPIPE signal received from OS")); 972 mr_asprintf(&tmp2, _("Pipe was broken")); 972 973 break; 973 974 case SIGABRT: 974 asprintf(&tmp, _("SIGABRT signal received from OS"));975 asprintf(&tmp2,975 mr_asprintf(&tmp, _("SIGABRT signal received from OS")); 976 mr_asprintf(&tmp2, 976 977 _("Abort - probably failed assertion. I'm sleeping for a few seconds so you can read the message.")); 977 978 break; 978 979 default: 979 asprintf(&tmp, _("(Unknown)"));980 asprintf(&tmp2, _("(Unknown)"));980 mr_asprintf(&tmp, _("(Unknown)")); 981 mr_asprintf(&tmp2, _("(Unknown)")); 981 982 } 982 983 983 984 log_to_screen(tmp); 984 985 log_to_screen(tmp2); 985 paranoid_free(tmp);986 paranoid_free(tmp2);986 mr_free(tmp); 987 mr_free(tmp2); 987 988 if (sig == SIGABRT) { 988 989 sleep(10);
Note:
See TracChangeset
for help on using the changeset viewer.