int found_sub = 0;
int i;
- for (i = 0; i < sizeof (ActiveSubscribers); i++)
+ for (i = 0; i < 2; i++)
{
Line = OneRNCfg->NetConfigs[ActiveSubscribers[i]];
while (Line != NULL)
}
/*
- subpending,
- unsubpending,
- ignet_push_share,
- listrecp,
- digestrecp,
- pop3client,
- rssclient,
- participate,
- roommailalias,
- maxRoomNetCfg
-
-/ *
* Enter a subscription request
*/
void do_subscribe(StrBuf **room, StrBuf **email, StrBuf **subtype, StrBuf **webpage) {
FMT_RFC822,
"Please confirm your list subscription"
);
- free(cf_req);
+ free(pcf_req);
cprintf("%d Subscription entered; confirmation request sent\n", CIT_OK);
FreeStrBuf(&UrlRoom);
ConfirmType = maxRoomNetCfg;
- for (i = 0; i < sizeof (ConfirmSubscribers); i++)
+ for (i = 0; i < 2; i++)
{
PrevLine = &OneRNCfg->NetConfigs[ConfirmSubscribers[i]];
Line = *PrevLine;
success = 1;
}
else if (ConfirmType == unsubpending) {
- for (i = 0; i < sizeof (ActiveSubscribers); i++)
+ for (i = 0; i < 2; i++)
{
PrevLine = &OneRNCfg->NetConfigs[ActiveSubscribers[i]];
Line = *PrevLine;
{
Segments[i] = NewStrBufPlain(NULL, StrLength(Segments[0]));
StrBufExtract_NextToken(Segments[i], Segments[0], &Pos, '|');
+ i++;
}
if (!strcasecmp(ChrPtr(Segments[1]), "subscribe")) {
else {
cprintf("%d Invalid command\n", ERROR + ILLEGAL_VALUE);
}
+
+ for (; i>=0; i--)
+ {
+ FreeStrBuf(&Segments[i]);
+ }
}
{
int i;
- for (i = 0; i < ThisOne->nSegments; i++)
+ if (*data == NULL)
+ return;
+
+ for (i = 0; i < (*data)->nValues; i++)
{
FreeStrBuf(&(*data)->Value[i]);
}
memset(OneRNCfg, 0, sizeof(OneRoomNetCfg));
*pOneRNCfg = OneRNCfg;
Line = NewStrBuf();
+ InStr = NewStrBuf();
while (StrBufTCP_read_line(Line, &fd, 0, &ErrStr) >= 0) {
if (StrLength(Line) == 0)
continue;
Pos = NULL;
- InStr = NewStrBufPlain(NULL, StrLength(Line));
StrBufExtract_NextToken(InStr, Line, &Pos, '|');
pCfg = GetCfgTypeByStr(SKEY(InStr));
RoomNetCfgLine *pNext, *pName;
pCfg = GetCfgTypeByEnum(eCfg, CfgIt);
- pName= OneRNCfg->NetConfigs[pCfg->C];
+ pName= OneRNCfg->NetConfigs[eCfg];
while (pName != NULL)
{
pNext = pName->next;
- pCfg->DeAllocator(pCfg, &pName);
+ if (pCfg != NULL)
+ {
+ pCfg->DeAllocator(pCfg, &pName);
+ }
+ else
+ {
+ DeleteGenericCfgLine(NULL, &pName);
+ }
pName = pNext;
}
}