diff options
author | Denys Vlasenko <dvlasenk@redhat.com> | 2010-10-22 17:25:15 +0200 |
---|---|---|
committer | Denys Vlasenko <dvlasenk@redhat.com> | 2010-10-22 17:25:15 +0200 |
commit | ff3392b9c9471cd6d837a9ab3abe135ab2d75edf (patch) | |
tree | 65595bf77f2bacc9315f20e6718356193f61cfe4 /lib/plugins/Logger.cpp | |
parent | b74cfbee13b9d2723dd48fe3e2a049fc55129699 (diff) | |
download | abrt-ff3392b9c9471cd6d837a9ab3abe135ab2d75edf.tar.gz abrt-ff3392b9c9471cd6d837a9ab3abe135ab2d75edf.tar.xz abrt-ff3392b9c9471cd6d837a9ab3abe135ab2d75edf.zip |
introduce and use xmalloc_fgets/fgetline
This fixes problems of having long lines truncated - and we do have very long lines
sometimes - curl errors with HTML, list of debuginfos etc.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'lib/plugins/Logger.cpp')
-rw-r--r-- | lib/plugins/Logger.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/plugins/Logger.cpp b/lib/plugins/Logger.cpp index 2985208e..8a47319f 100644 --- a/lib/plugins/Logger.cpp +++ b/lib/plugins/Logger.cpp @@ -105,10 +105,10 @@ string CLogger::Report(const map_crash_data_t& crash_data, FILE *fp = fdopen(pipefds[0], "r"); if (!fp) die_out_of_memory(); - char buf[512]; - while (fgets(buf, sizeof(buf), fp)) + char *buf; + while ((buf = xmalloc_fgets(fp)) != NULL) { - full_write_str(fd, buf); + full_write_str(fd, buf); } fclose(fp); /* this also closes pipefds[0] */ /* wait for child to actually exit, and prevent leaving a zombie behind */ |