TheNetNode-CB/src/prof_nick.c

58 lines
1.4 KiB
C
Executable File

#ifdef CONVNICK
/* ggf. Nickname setzen. */
BOOLEAN GetNickname(CONNECTION *cp)
{
PRFHEARD *prf;
/* TBL durchsuchen. */
if ((prf = LookupProfil(&proftab, cp->name)) == FALSE)
/* Kein Eintrag gefunden. */
return(FALSE);
/* Frischer Buffer. */
memset(cp->nickname, 0, sizeof(cp->nickname));
/* Nur wenn es ein Nick gibt, */
if (prf->nick[0] != FALSE)
/* Nickname setzen. */
strncpy(cp->nickname, prf->nick, NAMESIZE);
return(TRUE);
}
/* Aktualisiere Profil-Daten. */
void ProfilService(CONNECTION *cp)
{
PRFHEARD *nicp;
/* Eintrag suchen/bereitstellen. */
if ((nicp = LookupProfil(&proftab, cp->name)) == FALSE)
/* Neuen Eintrag erstellen. */
nicp = AddProfil(&proftab, cp->name);
/* Nur wenn gueltiger Eintrag, */
if (nicp)
/* Nickname im User-Profil sichern. */
UpdateNickProfil(&proftab, nicp, cp->name, cp->nickname);
}
/* Nickname im User-Profil sichern. */
void UpdateNickProfil(PROFTAB *nic, PRFHEARD *nicp, const char *name, const char *nick)
{
/* Nur wenn es einen Nick gibt, */
if (nick[0] != FALSE)
/* Nickname sichern. */
strncpy(nicp->nick, nick, NAMESIZE);
nicp->name[L2IDLEN] = 0;
/* Eintrag Aktualisieren. */
ulink((LEHEAD *)nicp);
relink((LEHEAD *)nicp, (LEHEAD *)(nic->heardl.tail));
}
#endif /* CONVNICK */
/* End of src/prof_nick.c */