summaryrefslogtreecommitdiffstats
path: root/gl/mbrtowc.c
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2026-03-27 11:14:20 +0100
committerAndreas Baumann <mail@andreasbaumann.cc>2026-03-27 11:14:20 +0100
commit1113bbcd92d85b85579aa7feef511241e58fb0f5 (patch)
treed69b7bcfe2f7e80fda9a1f4ddd38209d6cb7aaf0 /gl/mbrtowc.c
parent99283972fe3a74d3a1dea12c4099f76286130a67 (diff)
parenta71ce153082565e5728424749475593dc0623492 (diff)
downloadmonitoring-plugins-1113bbcd92d85b85579aa7feef511241e58fb0f5.tar.gz
merged with mastercheck_snmp_fixes
Diffstat (limited to 'gl/mbrtowc.c')
-rw-r--r--gl/mbrtowc.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/gl/mbrtowc.c b/gl/mbrtowc.c
index 6f0aa129..49831706 100644
--- a/gl/mbrtowc.c
+++ b/gl/mbrtowc.c
@@ -1,5 +1,5 @@
1/* Convert multibyte character to wide character. 1/* Convert multibyte character to wide character.
2 Copyright (C) 1999-2002, 2005-2025 Free Software Foundation, Inc. 2 Copyright (C) 1999-2002, 2005-2026 Free Software Foundation, Inc.
3 Written by Bruno Haible <bruno@clisp.org>, 2008. 3 Written by Bruno Haible <bruno@clisp.org>, 2008.
4 4
5 This file is free software: you can redistribute it and/or modify 5 This file is free software: you can redistribute it and/or modify
@@ -81,10 +81,7 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
81size_t 81size_t
82rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) 82rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
83{ 83{
84 size_t ret; 84# if MBRTOWC_RETVAL_BUG || MBRTOWC_EMPTY_INPUT_BUG
85 wchar_t wc;
86
87# if MBRTOWC_NULL_ARG2_BUG || MBRTOWC_RETVAL_BUG || MBRTOWC_EMPTY_INPUT_BUG
88 if (s == NULL) 85 if (s == NULL)
89 { 86 {
90 pwc = NULL; 87 pwc = NULL;
@@ -98,6 +95,7 @@ rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
98 return (size_t) -2; 95 return (size_t) -2;
99# endif 96# endif
100 97
98 wchar_t wc;
101 if (! pwc) 99 if (! pwc)
102 pwc = &wc; 100 pwc = &wc;
103 101
@@ -116,7 +114,7 @@ rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
116 size_t count = 0; 114 size_t count = 0;
117 for (; n > 0; s++, n--) 115 for (; n > 0; s++, n--)
118 { 116 {
119 ret = mbrtowc (&wc, s, 1, ps); 117 size_t ret = mbrtowc (&wc, s, 1, ps);
120 118
121 if (ret == (size_t)(-1)) 119 if (ret == (size_t)(-1))
122 return (size_t)(-1); 120 return (size_t)(-1);
@@ -133,6 +131,7 @@ rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
133 } 131 }
134# endif 132# endif
135 133
134 size_t ret;
136# if MBRTOWC_STORES_INCOMPLETE_BUG 135# if MBRTOWC_STORES_INCOMPLETE_BUG
137 ret = mbrtowc (&wc, s, n, ps); 136 ret = mbrtowc (&wc, s, n, ps);
138 if (ret < (size_t) -2 && pwc != NULL) 137 if (ret < (size_t) -2 && pwc != NULL)