diff options
author | Heiko Hund <heiko.hund@sophos.com> | 2012-02-16 18:30:40 +0100 |
---|---|---|
committer | David Sommerseth <davids@redhat.com> | 2012-02-17 11:01:10 +0100 |
commit | a13cd253ca1ce987e4feca7d80bd19ff749f7787 (patch) | |
tree | 028f9f190c244ce45a64273f8d9d04f9de0ad5ed | |
parent | d0109cbf459409a84963668c78f444c97ec2b349 (diff) | |
download | openvpn-a13cd253ca1ce987e4feca7d80bd19ff749f7787.tar.gz openvpn-a13cd253ca1ce987e4feca7d80bd19ff749f7787.tar.xz openvpn-a13cd253ca1ce987e4feca7d80bd19ff749f7787.zip |
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 <heiko.hund@sophos.com>
Signed-off-by: David Sommerseth <davids@redhat.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
-rw-r--r-- | misc.h | 6 | ||||
-rw-r--r-- | pf.c | 2 | ||||
-rw-r--r-- | win32.c | 4 |
3 files changed, 7 insertions, 5 deletions
@@ -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); } @@ -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) @@ -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; } |