Changeset 08e103d4 in mainline for uspace/lib/c/generic/str.c
- Timestamp:
- 2019-02-05T18:26:05Z (6 years ago)
- Children:
- 1d2f85e
- Parents:
- d066259
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2019-02-05 16:16:55)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2019-02-05 18:26:05)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/str.c
rd066259 r08e103d4 332 332 * 333 333 */ 334 size_t str_ size(const char *str)334 size_t str_bytes(const char *str) 335 335 { 336 336 size_t size = 0; … … 352 352 * 353 353 */ 354 size_t wstr_ size(const wchar_t *str)355 { 356 return (wstr_ length(str) * sizeof(wchar_t));354 size_t wstr_bytes(const wchar_t *str) 355 { 356 return (wstr_code_points(str) * sizeof(wchar_t)); 357 357 } 358 358 … … 370 370 * 371 371 */ 372 size_t str_l size(const char *str, size_t max_len)372 size_t str_lbytes(const char *str, size_t max_len) 373 373 { 374 374 size_t len = 0; … … 396 396 * 397 397 */ 398 size_t str_n size(const char *str, size_t max_size)398 size_t str_nbytes(const char *str, size_t max_size) 399 399 { 400 400 size_t size = 0; … … 417 417 * 418 418 */ 419 size_t wstr_n size(const wchar_t *str, size_t max_size)420 { 421 return (wstr_n length(str, max_size) * sizeof(wchar_t));419 size_t wstr_nbytes(const wchar_t *str, size_t max_size) 420 { 421 return (wstr_ncode_points(str, max_size) * sizeof(wchar_t)); 422 422 } 423 423 … … 435 435 * 436 436 */ 437 size_t wstr_l size(const wchar_t *str, size_t max_len)438 { 439 return (wstr_n length(str, max_len * sizeof(wchar_t)) * sizeof(wchar_t));437 size_t wstr_lbytes(const wchar_t *str, size_t max_len) 438 { 439 return (wstr_ncode_points(str, max_len * sizeof(wchar_t)) * sizeof(wchar_t)); 440 440 } 441 441 … … 447 447 * 448 448 */ 449 size_t str_ length(const char *str)449 size_t str_code_points(const char *str) 450 450 { 451 451 size_t len = 0; … … 465 465 * 466 466 */ 467 size_t wstr_ length(const wchar_t *wstr)467 size_t wstr_code_points(const wchar_t *wstr) 468 468 { 469 469 size_t len = 0; … … 483 483 * 484 484 */ 485 size_t str_n length(const char *str, size_t size)485 size_t str_ncode_points(const char *str, size_t size) 486 486 { 487 487 size_t len = 0; … … 502 502 * 503 503 */ 504 size_t wstr_n length(const wchar_t *str, size_t size)504 size_t wstr_ncode_points(const wchar_t *str, size_t size) 505 505 { 506 506 size_t len = 0; … … 616 616 * Do a char-by-char comparison of two NULL-terminated strings. 617 617 * The strings are considered equal iff 618 * min(str_ length(s1), max_len) == min(str_length(s2), max_len)618 * min(str_code_points(s1), max_len) == min(str_code_points(s2), max_len) 619 619 * and both strings consist of the same sequence of characters, 620 620 * up to max_len characters. … … 716 716 * Do a char-by-char comparison of two NULL-terminated strings. 717 717 * The strings are considered equal iff 718 * min(str_ length(s1), max_len) == min(str_length(s2), max_len)718 * min(str_code_points(s1), max_len) == min(str_code_points(s2), max_len) 719 719 * and both strings consist of the same sequence of characters, 720 720 * up to max_len characters. … … 879 879 void str_append(char *dest, size_t size, const char *src) 880 880 { 881 size_t dstr_ size;882 883 dstr_ size = str_size(dest);884 if (dstr_ size>= size)881 size_t dstr_bytes; 882 883 dstr_bytes = str_bytes(dest); 884 if (dstr_bytes >= size) 885 885 return; 886 886 887 str_cpy(dest + dstr_ size, size - dstr_size, src);887 str_cpy(dest + dstr_bytes, size - dstr_bytes, src); 888 888 } 889 889 … … 1178 1178 wchar_t *str_to_awstr(const char *str) 1179 1179 { 1180 size_t len = str_ length(str);1180 size_t len = str_code_points(str); 1181 1181 1182 1182 wchar_t *wstr = calloc(len + 1, sizeof(wchar_t)); … … 1221 1221 size_t off = 0; 1222 1222 1223 if (str_lcmp(hs, n, str_ length(n)) == 0)1223 if (str_lcmp(hs, n, str_code_points(n)) == 0) 1224 1224 return (char *)hs; 1225 1225 1226 1226 while (str_decode(hs, &off, STR_NO_LIMIT) != 0) { 1227 if (str_lcmp(hs + off, n, str_ length(n)) == 0)1227 if (str_lcmp(hs + off, n, str_code_points(n)) == 0) 1228 1228 return (char *)(hs + off); 1229 1229 } … … 1270 1270 size_t off = 0; 1271 1271 size_t pos = 0; 1272 size_t str_sz = str_ size(str);1272 size_t str_sz = str_bytes(str); 1273 1273 1274 1274 while ((acc = str_decode(str, &off, STR_NO_LIMIT)) != 0) { … … 1325 1325 bool wstr_linsert(wchar_t *str, wchar_t ch, size_t pos, size_t max_pos) 1326 1326 { 1327 size_t len = wstr_ length(str);1327 size_t len = wstr_code_points(str); 1328 1328 1329 1329 if ((pos > len) || (pos + 1 > max_pos)) … … 1353 1353 bool wstr_remove(wchar_t *str, size_t pos) 1354 1354 { 1355 size_t len = wstr_ length(str);1355 size_t len = wstr_code_points(str); 1356 1356 1357 1357 if (pos >= len) … … 1383 1383 char *str_dup(const char *src) 1384 1384 { 1385 size_t size = str_ size(src) + 1;1385 size_t size = str_bytes(src) + 1; 1386 1386 char *dest = malloc(size); 1387 1387 if (!dest) … … 1414 1414 char *str_ndup(const char *src, size_t n) 1415 1415 { 1416 size_t size = str_ size(src);1416 size_t size = str_bytes(src); 1417 1417 if (size > n) 1418 1418 size = n; … … 1445 1445 return NULL; 1446 1446 1447 size_t len = str_ size(s);1447 size_t len = str_bytes(s); 1448 1448 size_t cur; 1449 1449 size_t tmp;
Note:
See TracChangeset
for help on using the changeset viewer.