aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libbb/get_line_from_file.c9
-rw-r--r--libbb/parse_config.c9
2 files changed, 14 insertions, 4 deletions
diff --git a/libbb/get_line_from_file.c b/libbb/get_line_from_file.c
index ce5c7810e..9f20f68cf 100644
--- a/libbb/get_line_from_file.c
+++ b/libbb/get_line_from_file.c
@@ -66,11 +66,16 @@ char* FAST_FUNC xmalloc_fgetline(FILE *file)
66 size_t i; 66 size_t i;
67 char *c = bb_get_chunk_from_file(file, &i); 67 char *c = bb_get_chunk_from_file(file, &i);
68 68
69#if !ENABLE_PLATFORM_MINGW32
69 if (i && c[--i] == '\n') 70 if (i && c[--i] == '\n')
70 c[i] = '\0'; 71 c[i] = '\0';
71#if ENABLE_PLATFORM_MINGW32 72#else
72 if (i && c[--i] == '\r') 73 if (i && c[--i] == '\n') {
73 c[i] = '\0'; 74 c[i] = '\0';
75 if (i && c[--i] == '\r') {
76 c[i] = '\0';
77 }
78 }
74#endif 79#endif
75 80
76 return c; 81 return c;
diff --git a/libbb/parse_config.c b/libbb/parse_config.c
index f7a2b81b9..800a2935e 100644
--- a/libbb/parse_config.c
+++ b/libbb/parse_config.c
@@ -113,11 +113,16 @@ static int get_line_with_continuation(parser_t *parser)
113 line = parser->line; 113 line = parser->line;
114 for (;;) { 114 for (;;) {
115 parser->lineno++; 115 parser->lineno++;
116#if ENABLE_PLATFORM_MINGW32
116 if (line[len - 1] == '\n') 117 if (line[len - 1] == '\n')
117 len--; 118 len--;
118#if ENABLE_PLATFORM_MINGW32 119#else
119 if (line[len - 1] == '\r') 120 if (line[len - 1] == '\n') {
120 len--; 121 len--;
122 if (len != 0 && line[len - 1] == '\r') {
123 len--;
124 }
125 }
121#endif 126#endif
122 if (len == 0 || line[len - 1] != '\\') 127 if (len == 0 || line[len - 1] != '\\')
123 break; 128 break;