From: Heiko Hund Date: Thu, 16 Feb 2012 17:30:40 +0000 (+0100) Subject: use the underscore version of stat on Windows X-Git-Tag: v2.3-alpha1~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a13cd253ca1ce987e4feca7d80bd19ff749f7787;p=thirdparty%2Fopenvpn.git use the underscore version of stat on Windows MSVC does not know wstat(). Instead _wstat() must be used here. Unfortunately _wstat() takes a 'struct _stat'. A type 'stat_t' is introduced to handle this situation in a portable way. [v2: Use openvpn_stat_t instead of stat_t (David Sommerseth)] Signed-off-by: Heiko Hund Signed-off-by: David Sommerseth Acked-by: Gert Doering --- diff --git a/misc.h b/misc.h index e7a0b55e9..bdada42c5 100644 --- a/misc.h +++ b/misc.h @@ -168,10 +168,12 @@ openvpn_open (const char *path, int flags, mode_t mode) #endif #ifdef WIN32 -int openvpn_stat (const char *path, struct stat *buf); +typedef struct _stat openvpn_stat_t; +int openvpn_stat (const char *path, openvpn_stat_t *buf); #else +typedef struct stat openvpn_stat_t; static inline int -openvpn_stat (const char *path, struct stat *buf) +openvpn_stat (const char *path, openvpn_stat_t *buf) { return stat (path, buf); } diff --git a/pf.c b/pf.c index a0e9fc82d..0ef839e01 100644 --- a/pf.c +++ b/pf.c @@ -498,7 +498,7 @@ pf_check_reload (struct context *c) && c->c2.pf.filename && event_timeout_trigger (&c->c2.pf.reload, &c->c2.timeval, ETT_DEFAULT)) { - struct stat s; + openvpn_stat_t s; if (!openvpn_stat (c->c2.pf.filename, &s)) { if (s.st_mtime > c->c2.pf.file_last_mod) diff --git a/win32.c b/win32.c index a8f4ed9a6..2ba97fcf3 100644 --- a/win32.c +++ b/win32.c @@ -1073,10 +1073,10 @@ openvpn_open (const char *path, int flags, int mode) } int -openvpn_stat (const char *path, struct stat *buf) +openvpn_stat (const char *path, openvpn_stat_t *buf) { struct gc_arena gc = gc_new (); - int res = wstat (wide_string (path, &gc), buf); + int res = _wstat (wide_string (path, &gc), buf); gc_free (&gc); return res; }