Changeset 127 in MondoRescue for trunk/mondo/mondo/common/libmondo-stream.c
- Timestamp:
- Nov 19, 2005, 2:27:31 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/mondo/mondo/common/libmondo-stream.c
r122 r127 227 227 } 228 228 asprintf(&command, "%s -scanbus 2> /dev/null | grep -i tape | wc -l", 229 cdr_exe);229 cdr_exe); 230 230 asprintf(&tmp, call_program_and_get_last_line_of_output(command)); 231 231 paranoid_free(command); … … 240 240 241 241 asprintf(&command, 242 "%s -scanbus 2> /dev/null | tr -s '\t' ' ' | grep \"[0-9]*,[0-9]*,[0-9]*\" | grep -v \"[0-9]*) \\*\" | grep -i TAPE | cut -d' ' -f2 | head -n1",243 cdr_exe);242 "%s -scanbus 2> /dev/null | tr -s '\t' ' ' | grep \"[0-9]*,[0-9]*,[0-9]*\" | grep -v \"[0-9]*) \\*\" | grep -i TAPE | cut -d' ' -f2 | head -n1", 243 cdr_exe); 244 244 asprintf(&tmp, call_program_and_get_last_line_of_output(command)); 245 245 paranoid_free(command); … … 251 251 252 252 asprintf(&command, 253 "%s -scanbus 2> /dev/null | tr -s '\t' ' ' | grep \"[0-9]*,[0-9]*,[0-9]*\" | grep -v \"[0-9]*) \\*\" | grep -i TAPE | cut -d' ' -f3 | cut -d')' -f1 | head -n1",254 cdr_exe);253 "%s -scanbus 2> /dev/null | tr -s '\t' ' ' | grep \"[0-9]*,[0-9]*,[0-9]*\" | grep -v \"[0-9]*) \\*\" | grep -i TAPE | cut -d' ' -f3 | cut -d')' -f1 | head -n1", 254 cdr_exe); 255 255 paranoid_free(cdr_exe); 256 256 … … 292 292 log_it("Turning %s", dev); 293 293 paranoid_free(tmp); 294 asprintf(&tmp, (strrchr(dev, '/') != NULL) ? strrchr(dev, '/') : dev); 294 asprintf(&tmp, 295 (strrchr(dev, '/') != NULL) ? strrchr(dev, '/') : dev); 295 296 sprintf(dev, "/dev/os%s", tmp); 296 297 log_it("...into %s", dev); … … 327 328 int res = 0; 328 329 int retval = 0; 329 char *fname = &res; /* Should NOT be NULL */330 char *fname = &res; /* Should NOT be NULL */ 330 331 331 332 // xattr … … 411 412 // log_it("g_current_media_number = %d", g_current_media_number); 412 413 asprintf(&tmp, 413 "When the tape drive goes quiet, please insert volume %d in this series.",414 tapeno);414 "When the tape drive goes quiet, please insert volume %d in this series.", 415 tapeno); 415 416 popup_and_OK(tmp); 416 417 paranoid_free(tmp); … … 467 468 char *p; 468 469 /* BERLIOS: useless 469 char suffix[16];470 */470 char suffix[16]; 471 */ 471 472 472 473 bufsize_K = (long long) (1024LL * (1 + g_tape_buffer_size_MB)); 473 474 asprintf(&tmpdir, "%s/tmpfs/backcatalog", td); 474 475 /* BERLIOS: useless 475 if ((p = strrchr(latest_fname, '.'))) {476 477 } else {478 479 }480 */476 if ((p = strrchr(latest_fname, '.'))) { 477 strcpy(suffix, ++p); 478 } else { 479 suffix[0] = '\0'; 480 } 481 */ 481 482 if (strstr(latest_fname, ".afio.") || strstr(latest_fname, ".star.")) { 482 483 type = fileset; … … 556 557 return (0); 557 558 } 558 asprintf(&tmp, "mt -f %s setblk %ld", tapedev, internal_tape_block_size); 559 asprintf(&tmp, "mt -f %s setblk %ld", tapedev, 560 internal_tape_block_size); 559 561 res = run_program_and_log_output(tmp, 3); 560 562 paranoid_free(tmp); … … 669 671 chdir(bkpinfo->tmpdir); 670 672 asprintf(&tmp, "tar -zxf %s tmp/mondo-restore.cfg 2> /dev/null", 671 outfname);673 outfname); 672 674 paranoid_system(tmp); 673 675 paranoid_free(tmp); … … 696 698 /* add 'dummy' if testing */ 697 699 asprintf(&command, 698 "cdrecord -eject dev=%s speed=%d fs=24m -waiti - >> %s 2>> %s",699 cddev, speed, MONDO_LOGFILE, MONDO_LOGFILE);700 "cdrecord -eject dev=%s speed=%d fs=24m -waiti - >> %s 2>> %s", 701 cddev, speed, MONDO_LOGFILE, MONDO_LOGFILE); 700 702 /* initialise the catalog */ 701 703 g_current_media_number = 1; … … 817 819 char *tmp; 818 820 char *datablock; 819 char *temp_fname = bkpinfo; 820 char *temp_cksum = bkpinfo; 821 char *temp_fname = bkpinfo; /* Should NOT be NULL */ 822 char *temp_cksum = bkpinfo; /* Should NOT be NULL */ 821 823 char *actual_cksum; 822 824 … … 857 859 if (orig_size != temp_size && orig_size != -1) { 858 860 asprintf(&tmp, 859 "output file's size should be %ld K but is apparently %ld K",860 (long) size >> 10, (long) temp_size >> 10);861 "output file's size should be %ld K but is apparently %ld K", 862 (long) size >> 10, (long) temp_size >> 10); 861 863 log_to_screen(tmp); 862 864 paranoid_free(tmp); … … 867 869 } 868 870 asprintf(&tmp, "Reading file from tape; writing to '%s'; %ld KB", 869 outfname, (long) size >> 10);871 outfname, (long) size >> 10); 870 872 log_to_screen(tmp); 871 873 paranoid_free(tmp); … … 937 939 if (strcmp(temp_cksum, actual_cksum)) { 938 940 asprintf(&tmp, "actual cksum=%s; recorded cksum=%s", actual_cksum, 939 temp_cksum);941 temp_cksum); 940 942 log_to_screen(tmp); 941 943 paranoid_free(tmp); 942 944 943 945 asprintf(&tmp, "%s (%ld K) is corrupt on tape", temp_fname, 944 (long) orig_size >> 10);946 (long) orig_size >> 10); 945 947 log_to_screen(tmp); 946 948 paranoid_free(tmp); … … 1110 1112 int res; 1111 1113 int ctrl_chr; 1112 char *temp_fname = &res; 1114 char *temp_fname = &res; /* should NOT be NULL */ 1113 1115 char *datablock; 1114 1116 long long temp_size, size; … … 1175 1177 fread(datablock, 1, (size_t) TAPE_BLOCK_SIZE, g_tape_stream); 1176 1178 } 1177 1179 1178 1180 paranoid_free(temp_fname); 1179 1181 temp_fname = &res; 1180 res = 1181 read_header_block_from_stream(&temp_size, NULL, 1182 &ctrl_chr); 1182 res = read_header_block_from_stream(&temp_size, NULL, &ctrl_chr); 1183 1183 if (ctrl_chr != BLK_STOP_FILE) { 1184 1184 wrong_marker(BLK_STOP_FILE, ctrl_chr); 1185 1185 } 1186 res = 1187 read_header_block_from_stream(&temp_size, NULL, 1188 &ctrl_chr); 1186 res = read_header_block_from_stream(&temp_size, NULL, &ctrl_chr); 1189 1187 if (ctrl_chr != BLK_STOP_AN_AFIO_OR_SLICE) { 1190 1188 wrong_marker(BLK_STOP_AN_AFIO_OR_SLICE, ctrl_chr); 1191 1189 } 1192 res = 1193 read_header_block_from_stream(&temp_size, NULL, 1194 &ctrl_chr); 1190 res = read_header_block_from_stream(&temp_size, NULL, &ctrl_chr); 1195 1191 if (ctrl_chr != BLK_START_AN_AFIO_OR_SLICE) { 1196 1192 wrong_marker(BLK_START_AN_AFIO_OR_SLICE, ctrl_chr); … … 1209 1205 } 1210 1206 /* BERLIOS: useless ? 1211 pB = strrchr(the_file_I_was_reading, '/');1212 if (pB) {1213 1214 } else {1215 1216 }1217 */1207 pB = strrchr(the_file_I_was_reading, '/'); 1208 if (pB) { 1209 pB++; 1210 } else { 1211 pB = the_file_I_was_reading; 1212 } 1213 */ 1218 1214 } 1219 1215 log_msg(2, "Reading %s (it matches %s)", temp_fname, … … 1291 1287 if (bkpinfo->backup_media_type == cdstream) { 1292 1288 asprintf(&command, 1293 "cdrecord -eject dev=%s speed=%d fs=24m -waiti - >> %s 2>> %s",1294 bkpinfo->media_device, bkpinfo->cdrw_speed, MONDO_LOGFILE,1295 MONDO_LOGFILE);1289 "cdrecord -eject dev=%s speed=%d fs=24m -waiti - >> %s 2>> %s", 1290 bkpinfo->media_device, bkpinfo->cdrw_speed, MONDO_LOGFILE, 1291 MONDO_LOGFILE); 1296 1292 log_it("Opening OUT to next CD with the command"); 1297 1293 log_it(command); … … 1343 1339 for (i = 0; i <= last; i++) { 1344 1340 asprintf(&fname, "%s/tmpfs/backcatalog/%s", bkpinfo->tmpdir, 1345 g_tapecatalog->el[i].fname);1341 g_tapecatalog->el[i].fname); 1346 1342 if (!does_file_exist(fname)) { 1347 1343 log_msg(6, "Can't write %s - it doesn't exist.", fname); … … 1491 1487 } 1492 1488 asprintf(&tmp, "Writing file '%s' to tape (%ld KB)", p, 1493 (long) filesize >> 10);1489 (long) filesize >> 10); 1494 1490 log_it(tmp); 1495 1491 paranoid_free(tmp); … … 1594 1590 g_tape_stream) / 1024; 1595 1591 asprintf(&tmp, "%s (fname=%s, size=%ld K)", 1596 marker_to_string(control_char), p,1597 (long) length_of_incoming_file >> 10);1592 marker_to_string(control_char), p, 1593 (long) length_of_incoming_file >> 10); 1598 1594 log_msg(6, tmp); 1599 1595 paranoid_free(tmp); … … 1615 1611 /*@ end vars *************************************************** */ 1616 1612 asprintf(&tmp, "Wrong marker! (Should be %s, is actually %s)", 1617 marker_to_string(should_be), marker_to_string(it_is));1613 marker_to_string(should_be), marker_to_string(it_is)); 1618 1614 log_to_screen(tmp); 1619 1615 paranoid_free(tmp);
Note:
See TracChangeset
for help on using the changeset viewer.