Changeset 2334 in MondoRescue for branches/2.2.10/mondo/src/mondorestore/mondo-rstr-compare.c
- Timestamp:
- Aug 18, 2009, 5:28:18 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2.10/mondo/src/mondorestore/mondo-rstr-compare.c
r2332 r2334 43 43 44 44 /** needs malloc *******/ 45 char *checksum_ptr ;46 char *original_cksum_ptr ;47 char *bigfile_fname_ptr ;45 char *checksum_ptr = NULL; 46 char *original_cksum_ptr = NULL; 47 char *bigfile_fname_ptr = NULL; 48 48 char *tmp_ptr = NULL; 49 49 char *command_ptr = NULL; 50 50 51 char *checksum, * original_cksum, *bigfile_fname, *tmp, *command;51 char *checksum, *bigfile_fname, *tmp, *command; 52 52 53 53 char *p; … … 58 58 59 59 malloc_string(checksum); 60 malloc_string(original_cksum);61 60 malloc_string(bigfile_fname); 62 61 malloc_string(tmp); 63 62 malloc_string(command); 64 malloc_string(checksum_ptr);65 malloc_string(original_cksum_ptr);66 malloc_string(bigfile_fname_ptr);67 63 68 64 /********************************************************************* … … 70 66 *********************************************************************/ 71 67 assert(bkpinfo != NULL); 72 memset(checksum_ptr, '\0', sizeof(checksum));73 memset(original_cksum_ptr, '\0', sizeof(original_cksum));74 memset(bigfile_fname_ptr, '\0', sizeof(bigfile_fname));75 68 /** end **/ 76 69 … … 84 77 } 85 78 if (!(fin = fopen(slice_fname(bigfileno, 0, ARCHIVES_PATH, ""), "r"))) { 86 log_to_screen("Cannot open bigfile %ld ( %s)'s info file", bigfileno + 1, bigfile_fname_ptr);79 log_to_screen("Cannot open bigfile %ld (NULL)'s info file", bigfileno + 1); 87 80 return (1); 88 81 } … … 90 83 paranoid_fclose(fin); 91 84 92 strcpy(checksum_ptr, biggiestruct.checksum);93 strcpy(bigfile_fname_ptr, biggiestruct.filename);85 mr_asprintf(checksum_ptr, "%s", biggiestruct.checksum); 86 mr_asprintf(bigfile_fname_ptr, "%s", biggiestruct.filename); 94 87 95 88 log_msg(2, "biggiestruct.filename = %s", biggiestruct.filename); … … 106 99 } 107 100 if (!strncmp(bigfile_fname_ptr, "/dev/", 5)) { 108 strcpy(original_cksum_ptr, "IGNORE");109 101 log_msg(2, "IGNORING %s as begining with /dev", bigfile_fname_ptr); 102 mr_free(bigfile_fname_ptr); 110 103 return (1); 111 104 } … … 122 115 if (i) { 123 116 log_OS_error("Warning - command failed"); 124 original_cksum[0] = '\0';125 117 return (1); 126 118 } else { … … 128 120 log_msg(2, 129 121 "Unable to open /tmp/md5sum.txt; can't get live checksum"); 130 original_cksum[0] = '\0';122 mr_free(bigfile_fname_ptr); 131 123 return (1); 132 124 } else { 133 fgets(original_cksum_ptr, MAX_STR_LEN - 1, fin);125 mr_getline(original_cksum_ptr, fin); 134 126 paranoid_fclose(fin); 135 for (i = strlen(original_cksum_ptr); 136 i > 0 && original_cksum[i - 1] < 32; i--); 137 original_cksum[i] = '\0'; 138 p = (char *) strchr(original_cksum_ptr, ' '); 127 p = strchr(original_cksum_ptr, ' '); 139 128 if (p) { 140 129 *p = '\0'; … … 143 132 } 144 133 mr_asprintf(tmp_ptr, "bigfile #%ld ('%s') ", bigfileno + 1, bigfile_fname_ptr); 145 if ( !strcmp(checksum_ptr, original_cksum_ptr) != 0) {134 if ((original_cksum_ptr != NULL) && (strcmp(checksum_ptr, original_cksum_ptr) == 0)) { 146 135 mr_strcat(tmp_ptr, " ... OK"); 147 136 } else { … … 149 138 retval++; 150 139 } 140 mr_free(checksum_ptr); 141 mr_free(original_cksum_ptr); 142 151 143 log_msg(1, tmp_ptr); 152 144 paranoid_free(tmp_ptr); … … 159 151 paranoid_fclose(fout); 160 152 } 161 162 paranoid_free(original_cksum_ptr); 163 paranoid_free(original_cksum); 164 paranoid_free(bigfile_fname_ptr); 153 mr_free(bigfile_fname_ptr); 154 165 155 paranoid_free(bigfile_fname); 166 paranoid_free(checksum_ptr);167 156 paranoid_free(checksum); 168 157 paranoid_free(command); … … 365 354 /** needs malloc **********/ 366 355 367 char *tarball_fname, *progress_str; 356 char *tarball_fname = NULL; 357 char *progress_str = NULL; 368 358 char *tmp = NULL; 369 359 char *mds = NULL; … … 443 433 mvaddstr_and_log_it(g_currentY++, 74, "Done."); 444 434 } 445 paranoid_free(tarball_fname);446 paranoid_free(progress_str);447 435 return (retval); 448 436 }
Note:
See TracChangeset
for help on using the changeset viewer.