Lines 198-212
Link Here
|
198 |
} |
198 |
} |
199 |
|
199 |
|
200 |
template<class CTYPE> |
200 |
template<class CTYPE> |
201 |
size_t sprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format, ...) { |
|
|
202 |
va_list args; |
203 |
va_start(args, format); |
204 |
size_t len = vsprintfn(buffer, buflen, format, args); |
205 |
va_end(args); |
206 |
return len; |
207 |
} |
208 |
|
209 |
template<class CTYPE> |
210 |
size_t vsprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format, |
201 |
size_t vsprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format, |
211 |
va_list args) { |
202 |
va_list args) { |
212 |
int len = vsnprintf(buffer, buflen, format, args); |
203 |
int len = vsnprintf(buffer, buflen, format, args); |
Lines 217-222
Link Here
|
217 |
return len; |
208 |
return len; |
218 |
} |
209 |
} |
219 |
|
210 |
|
|
|
211 |
template<class CTYPE> |
212 |
size_t sprintfn(CTYPE* buffer, size_t buflen, const CTYPE* format, ...) { |
213 |
va_list args; |
214 |
va_start(args, format); |
215 |
size_t len = vsprintfn(buffer, buflen, format, args); |
216 |
va_end(args); |
217 |
return len; |
218 |
} |
219 |
|
220 |
/////////////////////////////////////////////////////////////////////////////// |
220 |
/////////////////////////////////////////////////////////////////////////////// |
221 |
// Allow safe comparing and copying ascii (not UTF-8) with both wide and |
221 |
// Allow safe comparing and copying ascii (not UTF-8) with both wide and |
222 |
// non-wide character strings. |
222 |
// non-wide character strings. |