Module: wine Branch: master Commit: 5f2b9d5968ed11cf3213fb70c6748f56ec5acaeb URL: http://source.winehq.org/git/wine.git/?a=commit;h=5f2b9d5968ed11cf3213fb70c6...
Author: Carlo Bramini carlo.bramix@libero.it Date: Sun Feb 19 15:17:57 2017 +0100
msvcrt: Use return value of *printf() instead of calling strlen() and simplify code.
Signed-off-by: Carlo Bramini carlo_bramini@users.sourceforge.net Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msvcrt/math.c | 12 ++++-------- dlls/msvcrt/printf.h | 3 +-- 2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c index af3aa2a..0bb006d 100644 --- a/dlls/msvcrt/math.c +++ b/dlls/msvcrt/math.c @@ -1580,7 +1580,7 @@ char * CDECL MSVCRT__fcvt( double number, int ndigits, int *decpt, int *sign ) number = -number; } else *sign = 0;
- snprintf(buf, 80, "%.*f", ndigits < 0 ? 0 : ndigits, number); + stop = snprintf(buf, 80, "%.*f", ndigits < 0 ? 0 : ndigits, number); ptr1 = buf; ptr2 = data->efcvt_buffer; first = NULL; @@ -1597,9 +1597,7 @@ char * CDECL MSVCRT__fcvt( double number, int ndigits, int *decpt, int *sign ) /* If requested digits is zero or less, we will need to truncate * the returned string */ if (ndigits < 1) { - stop = strlen(buf) + ndigits; - } else { - stop = strlen(buf); + stop += ndigits; }
while (*ptr1 == '0') ptr1++; /* Skip leading zeroes */ @@ -1665,7 +1663,7 @@ int CDECL MSVCRT__fcvt_s(char* outbuffer, MSVCRT_size_t size, double number, int number = -number; } else *sign = 0;
- snprintf(buf, 80, "%.*f", ndigits < 0 ? 0 : ndigits, number); + stop = snprintf(buf, 80, "%.*f", ndigits < 0 ? 0 : ndigits, number); ptr1 = buf; ptr2 = outbuffer; first = NULL; @@ -1682,9 +1680,7 @@ int CDECL MSVCRT__fcvt_s(char* outbuffer, MSVCRT_size_t size, double number, int /* If requested digits is zero or less, we will need to truncate * the returned string */ if (ndigits < 1) { - stop = strlen(buf) + ndigits; - } else { - stop = strlen(buf); + stop += ndigits; }
while (*ptr1 == '0') ptr1++; /* Skip leading zeroes */ diff --git a/dlls/msvcrt/printf.h b/dlls/msvcrt/printf.h index 392ead8..8bb3382 100644 --- a/dlls/msvcrt/printf.h +++ b/dlls/msvcrt/printf.h @@ -242,8 +242,7 @@ static inline void FUNC_NAME(pf_rebuild_format_string)(char *p, FUNC_NAME(pf_fla if(flags->Alternate) *p++ = flags->Alternate; if(flags->Precision >= 0) { - sprintf(p, ".%d", flags->Precision); - p += strlen(p); + p += sprintf(p, ".%d", flags->Precision); } *p++ = flags->Format; *p++ = 0;