From c3e7dec3d321f76e4172fb8e8b24f72981c9fda0 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Fri, 16 Mar 2007 09:25:47 +0000 Subject: Implemented ticket #185: Added pj_file_flush() to file I/O API to flush file buffers git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1074 74dad513-b988-da41-8d7b-12977e46ad98 --- pjlib/src/pj/config.c | 2 +- pjlib/src/pj/file_io_ansi.c | 10 ++++++++++ pjlib/src/pj/file_io_win32.c | 14 ++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) (limited to 'pjlib/src') diff --git a/pjlib/src/pj/config.c b/pjlib/src/pj/config.c index 66e72fab..75ab36f3 100644 --- a/pjlib/src/pj/config.c +++ b/pjlib/src/pj/config.c @@ -21,7 +21,7 @@ #include static const char *id = "config.c"; -const char *PJ_VERSION = "0.5.10.1-trunk"; +const char *PJ_VERSION = "0.5.10.2-trunk"; PJ_DEF(void) pj_dump_config(void) { diff --git a/pjlib/src/pj/file_io_ansi.c b/pjlib/src/pj/file_io_ansi.c index a2425818..6d340ce1 100644 --- a/pjlib/src/pj/file_io_ansi.c +++ b/pjlib/src/pj/file_io_ansi.c @@ -154,4 +154,14 @@ PJ_DEF(pj_status_t) pj_file_getpos( pj_oshandle_t fd, return PJ_SUCCESS; } +PJ_DEF(pj_status_t) pj_file_flush(pj_oshandle_t fd) +{ + int rc; + + rc = fflush((FILE*)fd); + if (rc == EOF) { + return PJ_RETURN_OS_ERROR(errno); + } + return PJ_SUCCESS; +} diff --git a/pjlib/src/pj/file_io_win32.c b/pjlib/src/pj/file_io_win32.c index 2497be68..27848497 100644 --- a/pjlib/src/pj/file_io_win32.c +++ b/pjlib/src/pj/file_io_win32.c @@ -204,3 +204,17 @@ PJ_DEF(pj_status_t) pj_file_getpos( pj_oshandle_t fd, return PJ_SUCCESS; } +PJ_DEF(pj_status_t) pj_file_flush(pj_oshandle_t fd) +{ + BOOL rc; + + rc = FlushFileBuffers(fd); + + if (!rc) { + DWORD dwStatus = GetLastError(); + if (dwStatus != 0) + return PJ_RETURN_OS_ERROR(dwStatus); + } + + return PJ_SUCCESS; +} -- cgit v1.2.3