Changeset 2405 in MondoRescue for branches/2.2.10/mondo/src/mondorestore/mondo-rstr-compare.c
- Timestamp:
- Sep 17, 2009, 3:45:24 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2.10/mondo/src/mondorestore/mondo-rstr-compare.c
r2357 r2405 43 43 44 44 /** needs malloc *******/ 45 char *checksum_ptr = NULL; 46 char *original_cksum_ptr = NULL; 47 char *bigfile_fname_ptr = NULL; 48 char *tmp_ptr = NULL; 49 char *command_ptr = NULL; 50 51 char *checksum, *bigfile_fname, *tmp, *command; 45 char *checksum = NULL; 46 char *original_cksum = NULL; 47 char *bigfile_fname = NULL; 48 char *tmp = NULL; 49 char *command = NULL; 52 50 53 51 char *p; … … 56 54 57 55 struct s_filename_and_lstat_info biggiestruct; 58 59 malloc_string(checksum);60 malloc_string(bigfile_fname);61 malloc_string(tmp);62 malloc_string(command);63 56 64 57 /********************************************************************* … … 83 76 paranoid_fclose(fin); 84 77 85 mr_asprintf(checksum _ptr, "%s", biggiestruct.checksum);86 mr_asprintf(bigfile_fname _ptr, "%s", biggiestruct.filename);78 mr_asprintf(checksum, "%s", biggiestruct.checksum); 79 mr_asprintf(bigfile_fname, "%s", biggiestruct.filename); 87 80 88 81 log_msg(2, "biggiestruct.filename = %s", biggiestruct.filename); … … 90 83 91 84 if (!g_text_mode) { 92 mr_asprintf(tmp _ptr, "Comparing %s", bigfile_fname_ptr);93 newtDrawRootText(0, 22, tmp _ptr);94 paranoid_free(tmp _ptr);85 mr_asprintf(tmp, "Comparing %s", bigfile_fname); 86 newtDrawRootText(0, 22, tmp); 87 paranoid_free(tmp); 95 88 newtRefresh(); 96 89 } 97 90 if (!checksum[0]) { 98 log_msg(2, "Warning - %s has no checksum", bigfile_fname _ptr);99 } 100 if (!strncmp(bigfile_fname _ptr, "/dev/", 5)) {101 log_msg(2, "IGNORING %s as begining with /dev", bigfile_fname _ptr);102 mr_free(bigfile_fname _ptr);91 log_msg(2, "Warning - %s has no checksum", bigfile_fname); 92 } 93 if (!strncmp(bigfile_fname, "/dev/", 5)) { 94 log_msg(2, "IGNORING %s as begining with /dev", bigfile_fname); 95 mr_free(bigfile_fname); 103 96 return (1); 104 97 } 105 98 106 mr_asprintf(command _ptr, "md5sum \"%s%s\" > /tmp/md5sum.txt 2> /tmp/errors", MNT_RESTORING, bigfile_fname_ptr);107 log_msg(2, command _ptr);108 i = system(command _ptr);109 mr_free(command _ptr);110 111 mr_asprintf(tmp _ptr, "cat /tmp/errors >> %s 2> /dev/null", MONDO_LOGFILE);112 paranoid_system(tmp _ptr);113 paranoid_free(tmp _ptr);99 mr_asprintf(command, "md5sum \"%s%s\" > /tmp/md5sum.txt 2> /tmp/errors", MNT_RESTORING, bigfile_fname); 100 log_msg(2, command); 101 i = system(command); 102 mr_free(command); 103 104 mr_asprintf(tmp, "cat /tmp/errors >> %s 2> /dev/null", MONDO_LOGFILE); 105 paranoid_system(tmp); 106 paranoid_free(tmp); 114 107 115 108 if (i) { … … 120 113 log_msg(2, 121 114 "Unable to open /tmp/md5sum.txt; can't get live checksum"); 122 mr_free(bigfile_fname _ptr);115 mr_free(bigfile_fname); 123 116 return (1); 124 117 } else { 125 mr_getline(original_cksum _ptr, fin);118 mr_getline(original_cksum, fin); 126 119 paranoid_fclose(fin); 127 p = strchr(original_cksum _ptr, ' ');120 p = strchr(original_cksum, ' '); 128 121 if (p) { 129 122 *p = '\0'; … … 131 124 } 132 125 } 133 mr_asprintf(tmp _ptr, "bigfile #%ld ('%s') ", bigfileno + 1, bigfile_fname_ptr);134 if ((original_cksum _ptr != NULL) && (strcmp(checksum_ptr, original_cksum_ptr) == 0)) {135 mr_strcat(tmp _ptr, " ... OK");136 } else { 137 mr_strcat(tmp _ptr, "... changed");126 mr_asprintf(tmp, "bigfile #%ld ('%s') ", bigfileno + 1, bigfile_fname); 127 if ((original_cksum != NULL) && (strcmp(checksum, original_cksum) == 0)) { 128 mr_strcat(tmp, " ... OK"); 129 } else { 130 mr_strcat(tmp, "... changed"); 138 131 retval++; 139 132 } 140 mr_free(checksum _ptr);141 mr_free(original_cksum _ptr);142 143 log_msg(1, tmp _ptr);144 paranoid_free(tmp _ptr);133 mr_free(checksum); 134 mr_free(original_cksum); 135 136 log_msg(1, tmp); 137 paranoid_free(tmp); 145 138 146 139 if (retval) { … … 148 141 fatal_error("Cannot openout changed.txt"); 149 142 } 150 fprintf(fout, "%s\n", bigfile_fname _ptr);143 fprintf(fout, "%s\n", bigfile_fname); 151 144 paranoid_fclose(fout); 152 145 } 153 mr_free(bigfile_fname_ptr); 154 155 paranoid_free(bigfile_fname); 156 paranoid_free(checksum); 157 paranoid_free(command); 158 paranoid_free(tmp); 146 mr_free(bigfile_fname); 159 147 160 148 return (retval);
Note:
See TracChangeset
for help on using the changeset viewer.