+HashList *GetNetConfigHash(StrBuf *Target, WCTemplputParams *TP)
+{
+ wcsession *WCC = WC;
+ StrBuf *Line;
+ StrBuf *Token;
+ StrBuf *Content;
+ long WantThisOne;
+ long PutTo;
+
+ WantThisOne = GetTemplateTokenNumber(Target, TP, 6, 0);
+ if (WantThisOne == 0)
+ return NULL;
+ if (WCC->CurRoom.IgnetCfgs[0] == (HashList*) StrBufNOTNULL)
+ return WCC->CurRoom.IgnetCfgs[WantThisOne];
+
+ WCC->CurRoom.IgnetCfgs[0] = (HashList*) StrBufNOTNULL;
+ serv_puts("GNET");
+ Line = NewStrBuf();
+ Token = NewStrBuf();
+ StrBuf_ServGetln(Line);
+ if (GetServerStatus(Line, NULL) == 1)
+ {
+ const char *Pos = NULL;
+ StrBuf_ServGetln(Line);
+ StrBufExtract_NextToken(Token, Line, &Pos, '|');
+ PutTo = GetTokenDefine(SKEY(Token), -1);
+ if ((PutTo > 0) && (PutTo < maxRoomNetCfg))
+ {
+ int n;
+
+ if (WCC->CurRoom.IgnetCfgs[PutTo] == NULL)
+ WCC->CurRoom.IgnetCfgs[PutTo] = NewHash(1, NULL);
+ Content = NewStrBuf();
+ StrBufExtract_NextToken(Content, Line, &Pos, '|');
+ n = GetCount(WCC->CurRoom.IgnetCfgs[PutTo]) + 1;
+ Put(WCC->CurRoom.IgnetCfgs[PutTo],
+ IKEY(n),
+ Content,
+ HFreeStrBuf);
+ }
+ }
+
+ return WCC->CurRoom.IgnetCfgs[WantThisOne];
+}
+