Mercurial > hg > forks > bilotrip-mj12
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 */ |