|
@@ -1116,27 +1116,29 @@ flush_read (void)
|
|
|
write_error (status);
|
|
|
}
|
|
|
if (multi_volume_option)
|
|
|
- if (save_name)
|
|
|
- {
|
|
|
- char *cursor = save_name;
|
|
|
+ {
|
|
|
+ if (save_name)
|
|
|
+ {
|
|
|
+ char *cursor = save_name;
|
|
|
|
|
|
#if MSDOS
|
|
|
- if (cursor[1] == ':')
|
|
|
- cursor += 2;
|
|
|
+ if (cursor[1] == ':')
|
|
|
+ cursor += 2;
|
|
|
#endif
|
|
|
- while (*cursor == '/')
|
|
|
- cursor++;
|
|
|
+ while (*cursor == '/')
|
|
|
+ cursor++;
|
|
|
|
|
|
- strcpy (real_s_name, cursor);
|
|
|
- real_s_sizeleft = save_sizeleft;
|
|
|
- real_s_totsize = save_totsize;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- real_s_name[0] = '\0';
|
|
|
- real_s_totsize = 0;
|
|
|
- real_s_sizeleft = 0;
|
|
|
- }
|
|
|
+ strcpy (real_s_name, cursor);
|
|
|
+ real_s_sizeleft = save_sizeleft;
|
|
|
+ real_s_totsize = save_totsize;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ real_s_name[0] = '\0';
|
|
|
+ real_s_totsize = 0;
|
|
|
+ real_s_sizeleft = 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
error_loop:
|
|
|
status = rmtread (archive, record_start->buffer, record_size);
|
|
@@ -1441,29 +1443,31 @@ close_archive (void)
|
|
|
continue;
|
|
|
|
|
|
if (child != -1)
|
|
|
- if (WIFSIGNALED (wait_status)
|
|
|
+ {
|
|
|
+ if (WIFSIGNALED (wait_status)
|
|
|
#if 0
|
|
|
- && !WIFSTOPPED (wait_status)
|
|
|
+ && !WIFSTOPPED (wait_status)
|
|
|
#endif
|
|
|
- )
|
|
|
- {
|
|
|
- /* SIGPIPE is OK, everything else is a problem. */
|
|
|
+ )
|
|
|
+ {
|
|
|
+ /* SIGPIPE is OK, everything else is a problem. */
|
|
|
|
|
|
- if (WTERMSIG (wait_status) != SIGPIPE)
|
|
|
- ERROR ((0, 0, _("Child died with signal %d%s"),
|
|
|
- WTERMSIG (wait_status),
|
|
|
- WCOREDUMP (wait_status) ? _(" (core dumped)") : ""));
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- /* Child voluntarily terminated -- but why? /bin/sh returns
|
|
|
- SIGPIPE + 128 if its child, then do nothing. */
|
|
|
+ if (WTERMSIG (wait_status) != SIGPIPE)
|
|
|
+ ERROR ((0, 0, _("Child died with signal %d%s"),
|
|
|
+ WTERMSIG (wait_status),
|
|
|
+ WCOREDUMP (wait_status) ? _(" (core dumped)") : ""));
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ /* Child voluntarily terminated -- but why? /bin/sh returns
|
|
|
+ SIGPIPE + 128 if its child, then do nothing. */
|
|
|
|
|
|
- if (WEXITSTATUS (wait_status) != (SIGPIPE + 128)
|
|
|
- && WEXITSTATUS (wait_status))
|
|
|
- ERROR ((0, 0, _("Child returned status %d"),
|
|
|
- WEXITSTATUS (wait_status)));
|
|
|
- }
|
|
|
+ if (WEXITSTATUS (wait_status) != (SIGPIPE + 128)
|
|
|
+ && WEXITSTATUS (wait_status))
|
|
|
+ ERROR ((0, 0, _("Child returned status %d"),
|
|
|
+ WEXITSTATUS (wait_status)));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
#endif /* !MSDOS */
|
|
|
|