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