diff options
Diffstat (limited to 'util-linux/rev.c')
-rw-r--r-- | util-linux/rev.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/util-linux/rev.c b/util-linux/rev.c index 2bef9b9be..b0a0c01aa 100644 --- a/util-linux/rev.c +++ b/util-linux/rev.c | |||
@@ -31,7 +31,7 @@ | |||
31 | #endif | 31 | #endif |
32 | 32 | ||
33 | /* In-place invert */ | 33 | /* In-place invert */ |
34 | static void strrev(CHAR_T *s, int len) | 34 | static void bb_strrev(CHAR_T *s, int len) |
35 | { | 35 | { |
36 | int i; | 36 | int i; |
37 | 37 | ||
@@ -39,6 +39,10 @@ static void strrev(CHAR_T *s, int len) | |||
39 | len--; | 39 | len--; |
40 | if (len != 0 && s[len] == '\n') | 40 | if (len != 0 && s[len] == '\n') |
41 | len--; | 41 | len--; |
42 | #if ENABLE_PLATFORM_MINGW32 | ||
43 | if (len != 0 && s[len] == '\r') | ||
44 | len--; | ||
45 | #endif | ||
42 | } | 46 | } |
43 | 47 | ||
44 | for (i = 0; i < len; i++, len--) { | 48 | for (i = 0; i < len; i++, len--) { |
@@ -99,14 +103,14 @@ int rev_main(int argc UNUSED_PARAM, char **argv) | |||
99 | /* Convert to wchar_t (might error out!) */ | 103 | /* Convert to wchar_t (might error out!) */ |
100 | int len = mbstowcs(tmp, buf, bufsize); | 104 | int len = mbstowcs(tmp, buf, bufsize); |
101 | if (len >= 0) { | 105 | if (len >= 0) { |
102 | strrev(tmp, len); | 106 | bb_strrev(tmp, len); |
103 | /* Convert back to char */ | 107 | /* Convert back to char */ |
104 | wcstombs(buf, tmp, bufsize); | 108 | wcstombs(buf, tmp, bufsize); |
105 | } | 109 | } |
106 | free(tmp); | 110 | free(tmp); |
107 | } | 111 | } |
108 | #else | 112 | #else |
109 | strrev(buf, strlen(buf)); | 113 | bb_strrev(buf, strlen(buf)); |
110 | #endif | 114 | #endif |
111 | fputs(buf, stdout); | 115 | fputs(buf, stdout); |
112 | } | 116 | } |