From 3c4f61afbf0bc2eaba2c2ce868b98658339956e2 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Sun, 24 Feb 2008 07:56:06 +0000
Subject: [PATCH] Optimize set_qwk_flag() - no need to read/modify/write the
 user database if the flag is already set.

---
 src/sbbs3/qwk.cpp | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/sbbs3/qwk.cpp b/src/sbbs3/qwk.cpp
index d29de6d447..c75333c7c9 100644
--- a/src/sbbs3/qwk.cpp
+++ b/src/sbbs3/qwk.cpp
@@ -63,6 +63,9 @@ bool route_circ(char *via, char *id)
 {
 	char str[256],*p,*sp;
 
+	if(via==NULL || id==NULL)
+		return(false);
+
 	SAFECOPY(str,via);
 	p=str;
 	SKIP_WHITESPACE(p);
@@ -985,13 +988,12 @@ int sbbs_t::set_qwk_flag(ulong flag)
 	int i;
 	char str[32];
 
+	if(useron.qwk&flag)
+		return 0;
 	if((i=getuserrec(&cfg,useron.number,U_QWK,8,str))!=0)
 		return(i);
 	useron.qwk=ahtoul(str);
 	useron.qwk|=flag;
-	if((i=putuserrec(&cfg,useron.number,U_QWK,8,ultoa(useron.qwk,str,16)))!=0)
-		return(i);
-
-	return(0);
+	return putuserrec(&cfg,useron.number,U_QWK,8,ultoa(useron.qwk,str,16));
 }
 
-- 
GitLab