Mercurial > hg > dmlib
diff src/dmres.c @ 1885:e69de47d2419
Implement resource helper functions dmfprintf() and dmvfprintf().
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 25 Jun 2018 13:24:50 +0300 |
parents | 08b0cbadbc45 |
children | a137e49e9f0d |
line wrap: on
line diff
--- a/src/dmres.c Mon Jun 25 13:24:27 2018 +0300 +++ b/src/dmres.c Mon Jun 25 13:24:50 2018 +0300 @@ -1263,6 +1263,33 @@ /* Helper resource access routines */ +int dmvfprintf(DMResource *fh, const char *fmt, va_list ap) +{ + int len; + char *str = dm_strdup_vprintf_len(fmt, ap, &len); + if (str == NULL) + { + fh->error = DMERR_MALLOC; + return -1; + } + + return dmfwrite(str, 1, len, fh); +} + + +int dmfprintf(DMResource *fh, const char *fmt, ...) +{ + int res; + va_list ap; + + va_start(ap, fmt); + res = dmvfprintf(fh, fmt, ap); + va_end(ap); + + return res; +} + + BOOL dmf_read_str(DMResource *fh, void *ptr, const size_t len) { return dmfread(ptr, len, 1, fh) == 1;