Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ssize_t readLine(char *buffer, char *filename, int size, off_t *offset) {
- int fd = open(filename, O_RDONLY);
- if (fd == -1) return -1;
- ssize_t charCount = 0, counter = 0;
- char *p = NULL;
- if ((charCount = lseek (fd, *offset, SEEK_SET)) != -1) {
- charCount = read (fd, buffer, size);
- }
- close(fd);
- if (charCount == -1) return -1;
- p = buffer;
- while (counter < charCount && *p != '\n') p++, counter++;
- *p = 0;
- if (counter == charCount) {
- *offset += charCount;
- return charCount < (ssize_t)size ? charCount : 0;
- }
- *offset += counter + 1;
- return counter;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement