Mercurial > hg > dmlib
changeset 235:4a672d96978f
Add dmfgets() function.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 08 Oct 2012 15:45:38 +0300 |
parents | a2abd0b991b6 |
children | 8189be40ed7c |
files | dmres.c dmres.h |
diffstat | 2 files changed, 23 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/dmres.c Mon Oct 08 15:21:59 2012 +0300 +++ b/dmres.c Mon Oct 08 15:45:38 2012 +0300 @@ -783,6 +783,28 @@ return f->fops->fwrite(ptr, size, nmemb, f); } +char *dmfgets(char *s, int size, DMResource * f) +{ + char *p = s, c; + int n = 0; + + while ((c = f->fops->fgetc(f)) != EOF) + { + if (c == '\n') + break; + else + if (n < size - 1) + { + *p++ = c; + size--; + } + } + *p = 0; + + return s; +} + + int dmres_ref(DMResource *node) {
--- a/dmres.h Mon Oct 08 15:21:59 2012 +0300 +++ b/dmres.h Mon Oct 08 15:45:38 2012 +0300 @@ -146,6 +146,7 @@ int dmfputc(int, DMResource *); size_t dmfread(void *, const size_t, const size_t, DMResource *); size_t dmfwrite(void *, const size_t, const size_t, DMResource *); +char * dmfgets(char *s, int size, DMResource * f); // Specialized functions for endianess based reading etc