Changes in uspace/lib/c/generic/str.c [1737bfb:8e893ae] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/str.c
r1737bfb r8e893ae 46 46 #include <mem.h> 47 47 #include <str.h> 48 49 /** Check the condition if wchar_t is signed */ 50 #ifdef WCHAR_IS_UNSIGNED 51 #define WCHAR_SIGNED_CHECK(cond) (true) 52 #else 53 #define WCHAR_SIGNED_CHECK(cond) (cond) 54 #endif 48 55 49 56 /** Byte mask consisting of lowest @n bits (out of 8) */ … … 261 268 } 262 269 270 /** Get size of string with size limit. 271 * 272 * Get the number of bytes which are used by the string @a str 273 * (excluding the NULL-terminator), but no more than @max_size bytes. 274 * 275 * @param str String to consider. 276 * @param max_size Maximum number of bytes to measure. 277 * 278 * @return Number of bytes used by the string 279 * 280 */ 281 size_t str_nsize(const char *str, size_t max_size) 282 { 283 size_t size = 0; 284 285 while ((*str++ != 0) && (size < max_size)) 286 size++; 287 288 return size; 289 } 290 291 /** Get size of wide string with size limit. 292 * 293 * Get the number of bytes which are used by the wide string @a str 294 * (excluding the NULL-terminator), but no more than @max_size bytes. 295 * 296 * @param str Wide string to consider. 297 * @param max_size Maximum number of bytes to measure. 298 * 299 * @return Number of bytes used by the wide string 300 * 301 */ 302 size_t wstr_nsize(const wchar_t *str, size_t max_size) 303 { 304 return (wstr_nlength(str, max_size) * sizeof(wchar_t)); 305 } 306 263 307 /** Get size of wide string with length limit. 264 308 * … … 362 406 bool ascii_check(wchar_t ch) 363 407 { 364 if ( (ch >= 0) && (ch <= 127))408 if (WCHAR_SIGNED_CHECK(ch >= 0) && (ch <= 127)) 365 409 return true; 366 410 … … 375 419 bool chr_check(wchar_t ch) 376 420 { 377 if ( (ch >= 0) && (ch <= 1114111))421 if (WCHAR_SIGNED_CHECK(ch >= 0) && (ch <= 1114111)) 378 422 return true; 379 423 … … 476 520 * @param count Size of the destination buffer (must be > 0). 477 521 * @param src Source string. 522 * 478 523 */ 479 524 void str_cpy(char *dest, size_t size, const char *src) … … 508 553 * @param src Source string. 509 554 * @param n Maximum number of bytes to read from @a src. 555 * 510 556 */ 511 557 void str_ncpy(char *dest, size_t size, const char *src, size_t n) … … 1498 1544 * 1499 1545 */ 1500 int str_uint64 (const char *nptr, char **endptr, unsigned int base,1546 int str_uint64_t(const char *nptr, char **endptr, unsigned int base, 1501 1547 bool strict, uint64_t *result) 1502 1548 {
Note:
See TracChangeset
for help on using the changeset viewer.