From d67be168f207376ddd7c2cbeb7af02d45108ac26 Mon Sep 17 00:00:00 2001 From: kugel Date: Mon, 3 May 2010 15:12:19 +0000 Subject: [PATCH] Move read_line() further down so that it can be used in checkwps and remove checkwps' copy if it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25793 a1c6a512-1295-4272-9138-f99709370657 --- apps/misc.c | 74 ++++++++++++++++++++++++----------------------- tools/checkwps/checkwps.c | 30 ------------------- 2 files changed, 38 insertions(+), 66 deletions(-) diff --git a/apps/misc.c b/apps/misc.c index f9c611620..eebcc9aeb 100644 --- a/apps/misc.c +++ b/apps/misc.c @@ -21,6 +21,7 @@ #include #include #include +#include #include "config.h" #include "misc.h" #include "lcd.h" @@ -33,7 +34,6 @@ #include "lang.h" #include "dir.h" #include "lcd-remote.h" -#include "errno.h" #include "system.h" #include "timefuncs.h" #include "screens.h" @@ -158,41 +158,6 @@ bool warn_on_pl_erase(void) return true; } -/* Read (up to) a line of text from fd into buffer and return number of bytes - * read (which may be larger than the number of bytes stored in buffer). If - * an error occurs, -1 is returned (and buffer contains whatever could be - * read). A line is terminated by a LF char. Neither LF nor CR chars are - * stored in buffer. - */ -int read_line(int fd, char* buffer, int buffer_size) -{ - int count = 0; - int num_read = 0; - - errno = 0; - - while (count < buffer_size) - { - unsigned char c; - - if (1 != read(fd, &c, 1)) - break; - - num_read++; - - if ( c == '\n' ) - break; - - if ( c == '\r' ) - continue; - - buffer[count++] = c; - } - - buffer[MIN(count, buffer_size - 1)] = 0; - - return errno ? -1 : num_read; -} /* Performance optimized version of the previous function. */ int fast_readline(int fd, char *buf, int buf_size, void *parameters, @@ -841,6 +806,43 @@ char *strip_extension(char* buffer, int buffer_size, const char *filename) } #endif /* !defined(__PCTOOL__) */ +/* Read (up to) a line of text from fd into buffer and return number of bytes + * read (which may be larger than the number of bytes stored in buffer). If + * an error occurs, -1 is returned (and buffer contains whatever could be + * read). A line is terminated by a LF char. Neither LF nor CR chars are + * stored in buffer. + */ +int read_line(int fd, char* buffer, int buffer_size) +{ + int count = 0; + int num_read = 0; + + errno = 0; + + while (count < buffer_size) + { + unsigned char c; + + if (1 != read(fd, &c, 1)) + break; + + num_read++; + + if ( c == '\n' ) + break; + + if ( c == '\r' ) + continue; + + buffer[count++] = c; + } + + buffer[MIN(count, buffer_size - 1)] = 0; + + return errno ? -1 : num_read; +} + + char* skip_whitespace(char* const str) { char *s = str; diff --git a/tools/checkwps/checkwps.c b/tools/checkwps/checkwps.c index 32d7ef16f..6760d6215 100644 --- a/tools/checkwps/checkwps.c +++ b/tools/checkwps/checkwps.c @@ -98,36 +98,6 @@ unsigned int htole32(unsigned int x) } #endif -int read_line(int fd, char* buffer, int buffer_size) -{ - int count = 0; - int num_read = 0; - - errno = 0; - - while (count < buffer_size) - { - unsigned char c; - - if (1 != read(fd, &c, 1)) - break; - - num_read++; - - if ( c == '\n' ) - break; - - if ( c == '\r' ) - continue; - - buffer[count++] = c; - } - - buffer[MIN(count, buffer_size - 1)] = 0; - - return errno ? -1 : num_read; -} - int recalc_dimension(struct dim *dst, struct dim *src) { return 0; -- 2.11.4.GIT