diff options
Diffstat (limited to 'examples/libsmbclient')
-rw-r--r-- | examples/libsmbclient/smbwrapper/smbw.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/examples/libsmbclient/smbwrapper/smbw.c b/examples/libsmbclient/smbwrapper/smbw.c index e2e44c1f0f..1356c78d04 100644 --- a/examples/libsmbclient/smbwrapper/smbw.c +++ b/examples/libsmbclient/smbwrapper/smbw.c @@ -55,12 +55,9 @@ smbw_ref -- manipulate reference counts ******************************************************/ int smbw_ref(int client_fd, Ref_Count_Type type, ...) { - va_list ap; - /* client id values begin at SMBC_BASE_FC. */ client_fd -= SMBC_BASE_FD; - va_start(ap, type); switch(type) { case SMBW_RCT_Increment: @@ -73,9 +70,16 @@ int smbw_ref(int client_fd, Ref_Count_Type type, ...) return smbw_ref_count[client_fd]; case SMBW_RCT_Set: - return (smbw_ref_count[client_fd] = va_arg(ap, int)); + { + va_list ap; + int ret; + + va_start(ap, type); + ret = (smbw_ref_count[client_fd] = va_arg(ap, int)); + va_end(ap); + return ret; + } } - va_end(ap); /* never gets here */ return -1; |