From 688bb741b03c9fa204939cb5cfaba2812d162d80 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Sat, 7 Dec 2013 08:11:39 +1100 Subject: [PATCH] add isc_stdio_tell, add missing comma (cherry picked from commit 793a8c9aa29986422e7bae75dc5e65f201081a57) (cherry picked from commit 8e9bbdda105f39e5497cd5372e2991fb9803f1b9) --- lib/isc/win32/stdio.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/lib/isc/win32/stdio.c b/lib/isc/win32/stdio.c index 50e473835e..6f65fdbf7e 100644 --- a/lib/isc/win32/stdio.c +++ b/lib/isc/win32/stdio.c @@ -23,6 +23,7 @@ #include #include +#include #include "errno2result.h" @@ -63,6 +64,28 @@ isc_stdio_seek(FILE *f, off_t offset, int whence) { return (isc__errno2result(errno)); } +isc_result_t +isc_stdio_tell(FILE *f, off_t *offsetp) { +#ifndef _WIN64 + long r; +#else + __int64 r; +#endif + + REQUIRE(offsetp != NULL); + +#ifndef _WIN64 + r = ftell(f); +#else + r = _ftelli64(f); +#endif + if (r >= 0) { + *offsetp = r; + return (ISC_R_SUCCESS); + } else + return (isc__errno2result(errno)); +} + isc_result_t isc_stdio_read(void *ptr, size_t size, size_t nmemb, FILE *f, size_t *nret) { isc_result_t result = ISC_R_SUCCESS;