Subversion Repositories HelenOS-historic

Rev

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

Rev 511 Rev 517
Line 42... Line 42...
42
 *
42
 *
43
 * Read characters from character device until first occurrence
43
 * Read characters from character device until first occurrence
44
 * of newline character.
44
 * of newline character.
45
 *
45
 *
46
 * @param chardev Character device.
46
 * @param chardev Character device.
47
 * @param string Buffer where to store string terminated by '\0'.
47
 * @param buf Buffer where to store string terminated by '\0'.
48
 * @param len Size of the buffer.
48
 * @param len Size of the buffer.
-
 
49
 *
-
 
50
 * @return Number of characters read.
49
 */
51
 */
50
void gets(chardev_t *chardev, __u8 *string, size_t buflen)
52
count_t gets(chardev_t *chardev, char *buf, size_t buflen)
51
{
53
{
52
    index_t index = 0;
54
    index_t index = 0;
53
    char ch;
55
    char ch;
54
 
56
 
55
    while (index < buflen) {
57
    while (index < buflen) {
56
        ch = getc(chardev);
58
        ch = getc(chardev);
57
        if (ch == '\n') { /* end of string => write 0, return */
59
        if (ch == '\n') { /* end of string => write 0, return */
58
            string[index] = '\0';
60
            buf[index] = '\0';
59
            return;
61
            return (count_t) index;
60
        }
62
        }
61
        string[index++] = ch;
63
        buf[index++] = ch;
62
    }
64
    }
63
    return;
65
    return (count_t) index;
64
}
66
}
65
 
67
 
66
/** Get character from character device.
68
/** Get character from character device.
67
 *
69
 *
68
 * @param chardev Character device.
70
 * @param chardev Character device.