if StrBuf_ServGetln() is called in a loop, its return value has to be checked for...
[citadel.git] / webcit / preferences.c
index b2606b938a4f5414172e96cb0247a7fe8a517fea..02b9102b5872c9b4a8ef7baa21b016f4fbc57150 100644 (file)
@@ -108,7 +108,7 @@ void GetPrefTypes(HashList *List)
                        Pref->Type = PrefType;
                        Pref->eFlatPrefType = Pref->Type->eType;
 
-                       lprintf(1, "Loading [%s]with type [%ld] [\"%s\"]\n",
+                       syslog(1, "Loading [%s]with type [%ld] [\"%s\"]\n",
                                ChrPtr(Pref->Key),
                                Pref->Type->eType,
                                ChrPtr(Pref->Val));
@@ -136,7 +136,7 @@ void GetPrefTypes(HashList *List)
 
                        if (PrefType->OnLoad != NULL){
 
-                               lprintf(1, "Loading with: -> %s(\"%s\", %ld)\n",
+                               syslog(1, "Loading with: -> %s(\"%s\", %ld)\n",
                                        ChrPtr(PrefType->OnLoadName),
                                        ChrPtr(Pref->Val),
                                        Pref->lval);
@@ -154,7 +154,8 @@ void ParsePref(HashList **List, StrBuf *ReadBuf)
        Preference *LastData = NULL;
                                
        while (!Done) {
-               StrBuf_ServGetln(ReadBuf);
+               if (StrBuf_ServGetln(ReadBuf) < 0)
+                       break;
                if ( (StrLength(ReadBuf)==3) && 
                     !strcmp(ChrPtr(ReadBuf), "000")) {
                        Done = 1;
@@ -182,7 +183,7 @@ void ParsePref(HashList **List, StrBuf *ReadBuf)
                        else 
                        {
                                StrBufTrim(ReadBuf);
-                               lprintf(1, "ignoring spurious preference line: [%s]\n", 
+                               syslog(1, "ignoring spurious preference line: [%s]\n", 
                                        ChrPtr(ReadBuf));
                                DestroyPreference(Data);
                                LastData = NULL;
@@ -221,7 +222,7 @@ void load_preferences(void)
                serv_puts("000");
        }
        while (!Done &&
-              StrBuf_ServGetln(ReadBuf)) {
+              (StrBuf_ServGetln(ReadBuf) >= 0)) {
                if ( (StrLength(ReadBuf)==3) && 
                     !strcmp(ChrPtr(ReadBuf), "000")) {
                        Done = 1;
@@ -234,7 +235,7 @@ void load_preferences(void)
                serv_printf("MSG0 %ld", msgnum);
                StrBuf_ServGetln(ReadBuf);
                if (GetServerStatus(ReadBuf, NULL) == 1) {
-                       while (StrBuf_ServGetln(ReadBuf),
+                       while ((StrBuf_ServGetln(ReadBuf) >= 0) && 
                               (strcmp(ChrPtr(ReadBuf), "text") && 
                                strcmp(ChrPtr(ReadBuf), "000"))) {
                        }
@@ -375,7 +376,7 @@ void save_preferences(void)
                serv_puts("000");
        }
        while (!Done &&
-              StrBuf_ServGetln(ReadBuf)) {
+              (StrBuf_ServGetln(ReadBuf) >= 0)) {
                if ( (StrLength(ReadBuf)==3) && 
                     !strcmp(ChrPtr(ReadBuf), "000")) {
                        Done = 1;
@@ -536,7 +537,7 @@ void set_preference_backend(const char *key, size_t keylen,
                Pref->Type = PrefType;
                Pref->eFlatPrefType = PrefType->eType;
                if (Pref->Type->eType != lPrefType)
-                       lprintf(1, "warning: saving preference with wrong type [%s] %ld != %ld \n",
+                       syslog(1, "warning: saving preference with wrong type [%s] %ld != %ld \n",
                                key, Pref->Type->eType, lPrefType);
                switch (Pref->Type->eType)
                {