X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fnetconfig.c;fp=citadel%2Fnetconfig.c;h=94b638bcb267179dc4bc527250bc31f7118c343a;hp=239ab731d06842069149011b281cb4ed28690c92;hb=264eb14f837d13affc78b1665cc3ff567aa13d10;hpb=61925468a868f297c01e76b8a564e76d8a759bbb diff --git a/citadel/netconfig.c b/citadel/netconfig.c index 239ab731d..94b638bcb 100644 --- a/citadel/netconfig.c +++ b/citadel/netconfig.c @@ -27,6 +27,7 @@ # endif #endif #include +#include #include @@ -57,8 +58,9 @@ void RegisterRoomCfgType(const char* Name, long len, RoomNetCfg eCfg, CfgLinePar pCfg->Str.len = len; pCfg->IsSingleLine = uniq; pCfg->nSegments = nSegments; - if (CfgTypeHash == NULL) + if (CfgTypeHash == NULL) { CfgTypeHash = NewHash(1, NULL); + } Put(CfgTypeHash, Name, len, pCfg, NULL); } @@ -235,12 +237,13 @@ char *LoadRoomNetConfigFile(long roomnum) OneRoomNetCfg *ParseRoomNetConfigFile(char *serialized_data) { const char *Pos = NULL; - const char *CPos = NULL; const CfgLineType *pCfg = NULL; StrBuf *Line = NULL; StrBuf *InStr = NULL; StrBuf *Cfg = NULL; OneRoomNetCfg *OneRNCfg = NULL; + int num_lines = 0; + int i = 0; OneRNCfg = malloc(sizeof(OneRoomNetCfg)); memset(OneRNCfg, 0, sizeof(OneRoomNetCfg)); @@ -248,9 +251,10 @@ OneRoomNetCfg *ParseRoomNetConfigFile(char *serialized_data) Line = NewStrBuf(); InStr = NewStrBuf(); Cfg = NewStrBufPlain(serialized_data, -1); + num_lines = num_tokens(ChrPtr(Cfg), '\n'); - while (StrBufSipLine(Line, Cfg, &CPos)) { - + for (i=0; i 0) { Pos = NULL; StrBufExtract_NextToken(InStr, Line, &Pos, '|');