* Public License as described at http://www.gnu.org/licenses/gpl.txt
*/
-#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include "mygetline.h"
-char *myfgetline(FILE *infile)
-{
- size_t buf_size = BUFSIZE; /* initial buffer size */
- size_t buf_used;
- char *buf = malloc(buf_size);
-
- buf[0] = '\0';
-
- if(infile == NULL)
- return NULL;
-
- for (;;) {
- buf_used = strlen(buf);
- if (fgets(buf+buf_used, buf_size-buf_used, infile) == NULL) {
- if (buf[0]) {
- return buf;
- } else {
- free(buf);
- return NULL;
- }
- }
-
- if ((strlen(buf) < buf_size-1) || (buf[buf_size-1] == '\n')) {
- return buf;
- }
-
- /* grow buffer */
- buf_size *= 2;
- buf = realloc(buf, buf_size);
-
- }
-}
-
char *mygetline(int fd)
{
size_t i = 0, res, buf_size = BUFSIZE; /* initial buffer size */
}
#if 0
+char *myfgetline(FILE *infile)
+{
+ size_t buf_size = BUFSIZE; /* initial buffer size */
+ size_t buf_used;
+ char *buf = malloc(buf_size);
+
+ buf[0] = '\0';
+
+ if(infile == NULL)
+ return NULL;
+
+ for (;;) {
+ buf_used = strlen(buf);
+ if (fgets(buf+buf_used, buf_size-buf_used, infile) == NULL) {
+ if (buf[0]) {
+ return buf;
+ } else {
+ free(buf);
+ return NULL;
+ }
+ }
+
+ if ((strlen(buf) < buf_size-1) || (buf[buf_size-1] == '\n')) {
+ return buf;
+ }
+
+ /* grow buffer */
+ buf_size *= 2;
+ buf = realloc(buf, buf_size);
+
+ }
+}
+
int main(int argc, char **argv)
{
char *str;