Subversion Repositories HelenOS

Rev

Rev 4205 | Rev 4208 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4205 Rev 4207
Line 67... Line 67...
67
 * @param index Index (counted in plain characters) where to start
67
 * @param index Index (counted in plain characters) where to start
68
 *              the decoding.
68
 *              the decoding.
69
 * @param limit Size of the substring.
69
 * @param limit Size of the substring.
70
 *
70
 *
71
 * @return  Value of decoded character or '?' on decoding error.
71
 * @return  Value of decoded character or '?' on decoding error.
72
 *
-
 
73
 */
72
 */
74
wchar_t chr_decode(const char *str, size_t *offset, size_t sz)
73
wchar_t chr_decode(const char *str, size_t *offset, size_t sz)
75
{
74
{
76
    uint8_t b0, b;          /* Bytes read from str. */
75
    uint8_t b0, b;          /* Bytes read from str. */
77
    wchar_t ch;
76
    wchar_t ch;
Line 244... Line 243...
244
}
243
}
245
 
244
 
246
/** Check whether character is Unicode.
245
/** Check whether character is Unicode.
247
 *
246
 *
248
 * @return True if character is valid Unicode code point.
247
 * @return True if character is valid Unicode code point.
249
 *
-
 
250
 */
248
 */
251
bool unicode_check(const wchar_t ch)
249
bool unicode_check(const wchar_t ch)
252
{
250
{
253
    if ((ch >= 0) && (ch <= 1114111))
251
    if ((ch >= 0) && (ch <= 1114111))
254
        return true;
252
        return true;
255
   
253
   
256
    return false;
254
    return false;
257
}
255
}
258
 
256
 
259
/** Return number of plain characters in a string.
257
/** Return number of bytes the string occupies.
260
 *
-
 
261
 * @param str NULL-terminated string.
-
 
262
 *
-
 
263
 * @return Number of characters in @a str.
-
 
264
 *
258
 *
-
 
259
 * @param str A string.
-
 
260
 * @return Number of bytes in @a str excluding the null terminator.
265
 */
261
 */
266
size_t strlen(const char *str)
262
size_t str_size(const char *str)
267
{
263
{
268
    size_t size;
264
    size_t size;
-
 
265
 
-
 
266
    size = 0;
269
    for (size = 0; str[size]; size++);
267
    while (*str++ != '\0')
-
 
268
        ++size;
270
   
269
 
271
    return size;
270
    return size;
272
}
271
}
273
 
272
 
274
/** Return number of characters in a string.
273
/** Return number of characters in a string.
275
 *
274
 *
Line 344... Line 343...
344
 * @param src First string to compare.
343
 * @param src First string to compare.
345
 * @param dst Second string to compare.
344
 * @param dst Second string to compare.
346
 * @param len Maximal length for comparison.
345
 * @param len Maximal length for comparison.
347
 *
346
 *
348
 * @return 0 if the strings are equal, -1 if first is smaller, 1 if second smaller.
347
 * @return 0 if the strings are equal, -1 if first is smaller, 1 if second smaller.
349
 *
-
 
350
 */
348
 */
351
int strncmp(const char *src, const char *dst, size_t len)
349
int strncmp(const char *src, const char *dst, size_t len)
352
{
350
{
353
    unsigned int i;
351
    unsigned int i;
354
   
352
   
Line 378... Line 376...
378
 * last copied character.
376
 * last copied character.
379
 *
377
 *
380
 * @param src  Source string.
378
 * @param src  Source string.
381
 * @param dest Destination buffer.
379
 * @param dest Destination buffer.
382
 * @param len  Size of destination buffer.
380
 * @param len  Size of destination buffer.
383
 *
-
 
384
 */
381
 */
385
void strncpy(char *dest, const char *src, size_t len)
382
void strncpy(char *dest, const char *src, size_t len)
386
{
383
{
387
    unsigned int i;
384
    unsigned int i;
388
   
385