- msgnum = CtdlWriteObject(SYSCONFIGROOM, sysconfname, sysconfdata, (strlen(sysconfdata)+1), NULL, 0, 0);
- if (msgnum > 0) {
- CtdlSetConfigLong(sysconfname, msgnum);
+ new_msgnum = CtdlWriteObject(SYSCONFIGROOM, sysconfname, sysconfdata, (strlen(sysconfdata)+1), NULL, 0, 0);
+ if (new_msgnum > 0) {
+ CtdlSetConfigLong(sysconfname, new_msgnum);
+
+ // Now delete the old copy
+ if (old_msgnum > 0) {
+ CtdlDeleteMessages(SYSCONFIGROOM, &old_msgnum, 1, "");
+ }