FreeStrBuf(&(sessions_to_kill->UrlFragment1));
FreeStrBuf(&(sessions_to_kill->UrlFragment2));
FreeStrBuf(&(sessions_to_kill->WBuf));
+ FreeStrBuf(&(sessions_to_kill->HBuf));
pthread_mutex_unlock(&sessions_to_kill->SessionMutex);
sptr = sessions_to_kill->next;
#endif
DeleteHash(&TheSession->urlstrings);
DeleteHash(&TheSession->vars);
-
+ FreeStrBuf(&TheSession->WBuf);
+ FreeStrBuf(&TheSession->HBuf);
+
+
pthread_mutex_unlock(&TheSession->SessionMutex); /* unbind */
/* Free the request buffer */
#endif
#endif
}
+
+#ifdef HAVE_USELOCALE
+ locale_t Empty_Locale;
+#endif
+
/**
* \brief Create a locale_t for each available language
*/
char buf[32];
#ifdef HAVE_USELOCALE
- locale_t Empty_Locale;
-
/* create default locale */
Empty_Locale = newlocale(LC_ALL_MASK, NULL, NULL);
#endif
}
}
+void ShutdownLocale(void)
+{
+ int i;
+#ifdef HAVE_USELOCALE
+ for (i = 0; i < NUM_LANGS; ++i) {
+ if (Empty_Locale != wc_locales[i])
+ freelocale(wc_locales[i]);
+ }
+ freelocale(Empty_Locale);
+#endif
+}
#else /* ENABLE_NLS */
/** \brief dummy for non NLS enabled systems */
sortpref_value = NULL;
sortpref_value = sortby;
}
-
+ FreeStrBuf(&sortby);
+
FreeStrBuf(&sortpref_name);
SortBy = StrToESort(sortpref_value);
/** message board sort */
void write_vnote_to_server(struct vnote *v)
{
char buf[1024];
+ char *pch;
serv_puts("ENT0 1|||4");
serv_getln(buf, sizeof buf);
if (buf[0] == '4') {
serv_puts("Content-type: text/vnote");
serv_puts("");
- serv_puts(vnote_serialize(v));
+ pch = vnote_serialize(v);
+ serv_puts(pch);
+ free(pch);
serv_puts("000");
}
}
}
FreeStrBuf(&Key);
}
+ FreeStrBuf(&ReadBuf);
}
}
}
}
}
+ FreeStrBuf(&Buf);
return StrLength(Ret);
}
aptr = up;
while ((aptr < eptr) && (*aptr != '\0') && (*aptr != '='))
aptr++;
- if (*aptr != '=')
+ if (*aptr != '=') {
+ free(buf);
return;
+ }
*aptr = '\0';
aptr++;
bptr = aptr;
{
struct wcsession *WCC = WC;
char buf[SIZ];
- char *xferbuf = NULL;
off_t bytes;
const char *MimeType;
serv_getln(buf, sizeof buf);
if (buf[0] == '2') {
bytes = extract_long(&buf[4], 0);
- xferbuf = malloc(bytes + 2);
/** Read it from the server */
WCC= WC;
if (WCC->WBuf == NULL)
- WCC->WBuf = NewStrBuf();
+ WC->WBuf = NewStrBufPlain(NULL, 32768);
FlushStrBuf(WCC->WBuf);
if (WCC->HBuf == NULL)
#ifdef ENABLE_NLS
void initialize_locales(void);
+void ShutdownLocale(void);
#endif
extern char *months[];
*/
void begin_burst(void)
{
- WC->WBuf = NewStrBufPlain(NULL, 32768);
+ if (WC->WBuf == NULL)
+ WC->WBuf = NewStrBufPlain(NULL, 32768);
}
icaltimezone_release_zone_tab ();
icalmemory_free_ring ();
ShutDownLibCitadel ();
+ DeleteHash(&HandlerHash);
+#ifdef ENABLE_NLS
+ void ShutdownLocale(void);
+#endif
lprintf(2, "master shutdown exiting!.\n");
exit(0);
}