From 5f593b884b68d7452ec8a7f68597215b720a57e4 Mon Sep 17 00:00:00 2001
From: "Rob Swindell (on Windows 11)" <rob@synchro.net>
Date: Thu, 2 Jan 2025 22:11:31 -0800
Subject: [PATCH] Fix small negative UTC-offset output from smb_zonestr()

When passed values between (-1 and -59), this function would output something
nonsensical like: "UTC0:01" or "UTC0:59". Now we'll make sure there's a minus
sign in these conditions (e.g. "UTC-0:01" and "UTC-0:59").
---
 src/smblib/smbstr.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/smblib/smbstr.c b/src/smblib/smbstr.c
index 21de6dc085..5bf8a6631e 100644
--- a/src/smblib/smbstr.c
+++ b/src/smblib/smbstr.c
@@ -241,6 +241,8 @@ char* smb_zonestr(int16_t zone, char* str)
 
 	if(zone>0)
 		plus="+";
+	else if((zone / 60) == 0)
+		plus="-";
 	else
 		plus="";
 	sprintf(str,"UTC%s%d:%02u", plus, zone/60, zone<0 ? (-zone)%60 : zone%60);
-- 
GitLab