comparison src/ggets.c @ 44:f0073a47c31d

Fix various warnings.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 06 Aug 2013 00:04:37 +0300
parents 785057719d9b
children
comparison
equal deleted inserted replaced
43:d00b967c48f2 44:f0073a47c31d
41 { 41 {
42 int cursize, ch, ix; 42 int cursize, ch, ix;
43 char *buffer, *temp; 43 char *buffer, *temp;
44 44
45 *ln = NULL; /* default */ 45 *ln = NULL; /* default */
46 if (NULL == (buffer = malloc(INITSIZE))) return NOMEM; 46 if ((buffer = (char *) malloc(INITSIZE)) == NULL) return NOMEM;
47 cursize = INITSIZE; 47 cursize = INITSIZE;
48 48
49 ix = 0; 49 ix = 0;
50 while ((EOF != (ch = getc(f))) && ('\n' != ch)) { 50 while ((ch = getc(f)) != EOF && ch != '\n') {
51 if (ix >= (cursize - 1)) { /* extend buffer */ 51 if (ix >= (cursize - 1)) { /* extend buffer */
52 cursize += DELTASIZE; 52 cursize += DELTASIZE;
53 if (NULL == (temp = realloc(buffer, (size_t)cursize))) { 53 if ((temp = (char *) realloc(buffer, (size_t)cursize)) == NULL) {
54 /* ran out of memory, return partial line */ 54 /* ran out of memory, return partial line */
55 buffer[ix] = '\0'; 55 buffer[ix] = '\0';
56 *ln = buffer; 56 *ln = buffer;
57 return NOMEM; 57 return NOMEM;
58 } 58 }
59 buffer = temp; 59 buffer = temp;
60 } 60 }
61 buffer[ix++] = ch; 61 buffer[ix++] = ch;
62 } 62 }
63 if ((EOF == ch) && (0 == ix)) { 63
64 if (ch == EOF && ix == 0) {
64 free(buffer); 65 free(buffer);
65 return EOF; 66 return EOF;
66 } 67 }
67 68
68 buffer[ix] = '\0'; 69 buffer[ix] = '\0';
69 if (NULL == (temp = realloc(buffer, (size_t)ix + 1))) { 70 if ((temp = (char *) realloc(buffer, (size_t)ix + 1)) == NULL) {
70 *ln = buffer; /* without reducing it */ 71 *ln = buffer; /* without reducing it */
71 } 72 }
72 else *ln = temp; 73 else *ln = temp;
73 return OK; 74 return OK;
74 } /* fggets */ 75 } /* fggets */