[util] Don't close stdin/stdout
This commit is contained in:
parent
7e998d193a
commit
6131fb6283
@ -758,7 +758,10 @@ text_options_t::get_line (unsigned int *len)
|
||||
fail (true, "At least one of text or text-file must be set");
|
||||
|
||||
if (0 != strcmp (text_file, "-"))
|
||||
{
|
||||
fp = fopen (text_file, "r");
|
||||
close_fp = true;
|
||||
}
|
||||
else
|
||||
fp = stdin;
|
||||
|
||||
@ -795,7 +798,10 @@ output_options_t::get_file_handle (void)
|
||||
return fp;
|
||||
|
||||
if (output_file)
|
||||
{
|
||||
fp = fopen (output_file, "wb");
|
||||
close_fp = true;
|
||||
}
|
||||
else {
|
||||
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||
setmode (fileno (stdout), O_BINARY);
|
||||
|
@ -510,6 +510,7 @@ struct text_options_t : option_group_t
|
||||
text_file = nullptr;
|
||||
|
||||
fp = nullptr;
|
||||
close_fp = false;
|
||||
gs = nullptr;
|
||||
line = nullptr;
|
||||
line_len = (unsigned int) -1;
|
||||
@ -524,7 +525,7 @@ struct text_options_t : option_group_t
|
||||
g_free (text_file);
|
||||
if (gs)
|
||||
g_string_free (gs, true);
|
||||
if (fp)
|
||||
if (close_fp)
|
||||
fclose (fp);
|
||||
}
|
||||
|
||||
@ -547,6 +548,7 @@ struct text_options_t : option_group_t
|
||||
|
||||
private:
|
||||
FILE *fp;
|
||||
bool close_fp;
|
||||
GString *gs;
|
||||
char *line;
|
||||
unsigned int line_len;
|
||||
@ -563,6 +565,7 @@ struct output_options_t : option_group_t
|
||||
explicit_output_format = false;
|
||||
|
||||
fp = nullptr;
|
||||
close_fp = false;
|
||||
|
||||
add_options (parser);
|
||||
}
|
||||
@ -570,7 +573,7 @@ struct output_options_t : option_group_t
|
||||
{
|
||||
g_free (output_file);
|
||||
g_free (output_format);
|
||||
if (fp)
|
||||
if (close_fp)
|
||||
fclose (fp);
|
||||
}
|
||||
|
||||
@ -602,6 +605,7 @@ struct output_options_t : option_group_t
|
||||
bool explicit_output_format;
|
||||
|
||||
mutable FILE *fp;
|
||||
bool close_fp;
|
||||
};
|
||||
|
||||
struct format_options_t : option_group_t
|
||||
|
Loading…
Reference in New Issue
Block a user