From 65cddbc73138b189e8412a0fbec6ea072b3d18b3 Mon Sep 17 00:00:00 2001
From: Rob Swindell <rob@synchro.net>
Date: Sun, 20 Dec 2020 21:47:26 -0800
Subject: [PATCH] We don't actually have/use nspr.h for Windows builds

We only use NSPR to build libmozjs, not to build sbbs. So define our own MIN and MAX macros if they're not already defined (e.g. from sys/param.h on *nix). Such a simple can o' worms, but wormful can it was.
---
 src/sbbs3/logon.cpp   | 5 ++---
 src/sbbs3/newuser.cpp | 3 +--
 src/sbbs3/sbbsdefs.h  | 7 +++++++
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/sbbs3/logon.cpp b/src/sbbs3/logon.cpp
index b996959cdb..7af906816f 100644
--- a/src/sbbs3/logon.cpp
+++ b/src/sbbs3/logon.cpp
@@ -37,7 +37,6 @@
 
 #include "sbbs.h"
 #include "cmdshell.h"
-#include <nspr.h>
 
 extern "C" void client_on(SOCKET sock, client_t* client, BOOL update);
 
@@ -243,10 +242,10 @@ bool sbbs_t::logon()
 			bprintf(text[TimeToChangePw],cfg.sys_pwdays);
 
 			c=0;
-			while(c < PR_MAX(RAND_PASS_LEN, cfg.min_pwlen)) { 				/* Create random password */
+			while(c < MAX(RAND_PASS_LEN, cfg.min_pwlen)) { 				/* Create random password */
 				str[c]=sbbs_random(43)+'0';
 				if(IS_ALPHANUMERIC(str[c]))
-					c++; 
+					c++;
 			}
 			str[c]=0;
 			bprintf(text[YourPasswordIs],str);
diff --git a/src/sbbs3/newuser.cpp b/src/sbbs3/newuser.cpp
index ef42e1d93c..e2022d3776 100644
--- a/src/sbbs3/newuser.cpp
+++ b/src/sbbs3/newuser.cpp
@@ -38,7 +38,6 @@
 #include "sbbs.h"
 #include "petdefs.h"
 #include "cmdshell.h"
-#include <nspr.h>
 
 /****************************************************************************/
 /* This function is invoked when a user enters "NEW" at the NN: prompt		*/
@@ -382,7 +381,7 @@ BOOL sbbs_t::newuser()
 	}
 	else {
 		c=0;
-		while(c < PR_MAX(RAND_PASS_LEN, cfg.min_pwlen)) { 				/* Create random password */
+		while(c < MAX(RAND_PASS_LEN, cfg.min_pwlen)) { 				/* Create random password */
 			useron.pass[c]=sbbs_random(43)+'0';
 			if(IS_ALPHANUMERIC(useron.pass[c]))
 				c++; 
diff --git a/src/sbbs3/sbbsdefs.h b/src/sbbs3/sbbsdefs.h
index f57703edcb..bfae99e7f7 100644
--- a/src/sbbs3/sbbsdefs.h
+++ b/src/sbbs3/sbbsdefs.h
@@ -83,6 +83,13 @@ typedef struct js_callback {
 
 #define JSVAL_NULL_OR_VOID(val)		(JSVAL_IS_NULL(val) || JSVAL_IS_VOID(val))
 
+#ifndef MAX
+#define MAX(a,b) ((a) > (b) ? (a) : (b))
+#endif
+#ifndef MIN
+#define MIN(a,b) ((a) < (b) ? (a) : (b))
+#endif
+
 /************/
 /* Maximums */
 /************/
-- 
GitLab