From 19ecfb16afe751cdb0284ec4cc3b2a755e7a4701 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Wed, 18 Sep 2002 22:25:29 +0000
Subject: [PATCH] Created function: smb_tzutc(), returns timezone offset from
 UTC/GMT - used by SBBSecho for generating TZUTC kludge line.

---
 src/smblib/smblib.c | 16 ++++++++++++++++
 src/smblib/smblib.h |  5 +++--
 2 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/src/smblib/smblib.c b/src/smblib/smblib.c
index 30817df428..9f223eb4d5 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 5e2099eab8..8add0105f7 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 */
 
-- 
GitLab