diff --git a/src/smblib/smblib.c b/src/smblib/smblib.c index 30817df4289f2af9e9e0eaee3ba92c0e0c155d91..9f223eb4d5090257ce6702de021f38ebb4392fbd 100644 --- a/src/smblib/smblib.c +++ b/src/smblib/smblib.c @@ -1725,4 +1725,20 @@ long SMBCALL smb_fwrite(void HUGE16* buf, long bytes, FILE* fp) #endif } +/************************************************************************/ +/* Returns difference from specified timezone and UTC/GMT */ +/************************************************************************/ +int SMBCALL smb_tzutc(short zone) +{ + int tz; + + if(zone<=1000 && zone>=-1000) /* 720 is 12 hours */ + return(zone); + + tz=zone&0xfff; + if(zone&(WESTERN_ZONE|US_ZONE)) /* West of UTC? */ + return(-tz); + return(tz); +} + /* End of SMBLIB.C */ diff --git a/src/smblib/smblib.h b/src/smblib/smblib.h index 5e2099eab86684be2c0de758068c4df7dca3c0d2..8add0105f7a0b75d943f47bf93a6d9f20cd4d3ae 100644 --- a/src/smblib/smblib.h +++ b/src/smblib/smblib.h @@ -130,9 +130,10 @@ SMBEXPORT int SMBCALL smb_incdat(smb_t* smb, ulong offset, ulong length, ushort SMBEXPORT int SMBCALL smb_freemsg(smb_t* smb, smbmsg_t* msg); SMBEXPORT int SMBCALL smb_freemsgdat(smb_t* smb, ulong offset, ulong length, ushort headers); SMBEXPORT int SMBCALL smb_freemsghdr(smb_t* smb, ulong offset, ulong length); -SMBEXPORT void SMBCALL smb_freemsgtxt(char HUGE16* buf); +SMBEXPORT void SMBCALL smb_freemsgtxt(char* buf); SMBEXPORT int SMBCALL smb_copymsgmem(smbmsg_t* destmsg, smbmsg_t* srcmsg); -SMBEXPORT char HUGE16* SMBCALL smb_getmsgtxt(smb_t* smb, smbmsg_t* msg, ulong mode); +SMBEXPORT char* SMBCALL smb_getmsgtxt(smb_t* smb, smbmsg_t* msg, ulong mode); +SMBEXPORT int SMBCALL smb_tzutc(short timezone); /* FILE pointer I/O functions */