Replace get_userinfo() by query_userlist().
Change-Id: I5e4d9f9c0a7d7711013df40e6d50307fcb12ff7e
diff --git a/p/daemon/finger.c b/p/daemon/finger.c
index e4aba4c..a3c7794 100644
--- a/p/daemon/finger.c
+++ b/p/daemon/finger.c
@@ -117,7 +117,6 @@
varargs string finger_single(string str,int local)
{
- mixed *userinfo;
string ip,text,ipnum,filename,away;
int wizlevel,playerlevel,idle,pos,flags,last;
mixed h,data,tmp;
@@ -153,11 +152,10 @@
/* does this player exist? */
str=old_explode(str,".")[0];
- userinfo=MASTER->get_userinfo(str);
player=find_player(str)||find_netdead(str);
- if( (!pointerp(userinfo) || userinfo[USER_LEVEL+1]==-1)
- && !player) {
+ if( (!master()->find_userinfo(str) && !player) )
+ {
text="Hmm... diesen Namen gibt es im "MUDNAME" nicht.\n";
if (tmp="/secure/master"->QueryBanished(str)){
text="Hoppla - dieser Name ist reserviert oder gesperrt (\"gebanisht\")!\n";
@@ -273,16 +271,17 @@
(member(tmp,getuid(this_player()))!=-1))) tmp = 1;
else tmp=0;
-
- if (!(h=properties[P_RACE]) && userinfo && pointerp(userinfo) && sizeof(userinfo)>4 &&
- stringp(userinfo[4]) && sizeof(h=old_explode(userinfo[4],"/"))>2) {
- h=capitalize(h[2]);
- h=(["Human":"Mensch","Dwarf":"Zwerg","Darkelf":"Dunkelelf","Orc":"Ork"])[h] || h;
+ string shell = master()->query_userlist(str, USER_OBJECT);
+ if (!(h=properties[P_RACE]) && sizeof(shell))
+ {
+ shell = capitalize(explode(shell, "/")[3]);
+ shell =(["Human":"Mensch","Dwarf":"Zwerg","Darkelf":"Dunkelelf",
+ "Orc":"Ork"])[shell] || shell;
}
- if (!stringp(h)) h="<keine>";
-
- text+="Rasse: "+h+", Gilde: "+
+ if (!stringp(shell)) shell="<keine>";
+ int creation = master()->query_userlist(str, USER_CREATION_DATE);
+ text+="Rasse: "+shell+", Gilde: "+
((h=properties[P_VISIBLE_GUILD])?capitalize(h):((h=properties[P_GUILD])?capitalize(h):"Abenteurer"))+
((h=properties[P_VISIBLE_SUBGUILD_TITLE])?" ("+capitalize(h)+")":((h=properties[P_SUBGUILD_TITLE])?" ("+capitalize(h)+")":""))+
", Geschlecht: "+({"neutral ?!","maennlich","weiblich","<verdammt seltsam>"})[properties[P_GENDER]]+"\n"+
@@ -292,9 +291,8 @@
("Spielerlevel: "+properties[P_LEVEL]+( wizlevel ? " (Seher"+IN+")" : "" )+
(((h=properties[P_GUILD_LEVEL]) && h=h[properties[P_GUILD]]) ?
(", Gildenlevel: "+h) : "" )
- ))+((userinfo&&pointerp(userinfo))?
- (sprintf("\nDatum des ersten Login: %s",
- (userinfo[5] > 0) ? dtime(userinfo[5]) : "vor dem 10. Nov 1995")):"")+
+ )) + ((sprintf("\nDatum des ersten Login: %s",
+ (creation > 0) ? dtime(creation) : "vor dem 10. Nov 1995")))+
(tmp ? ("\nE-Mail-Adresse: "+((h=properties[P_MAILADDR]) ? h : "keine")+"\n") : "\n");
if (properties[P_HOMEPAGE])
@@ -384,21 +382,20 @@
text+=capitalize(str)+" ist am "+dtime(hc_play)+" in das Nirvana eingegangen.\n";
}
- if (/*wiz && */userinfo) {
- data=userinfo[3];
- if (sizeof(data))
- text+="Regionsmagier"+IN+" von : "+implode(map(data,#'capitalize),", ")+".\n";
- data="/secure/master"->get_domain_homes(str);
-data=filter(data-({"erzmagier"}),#'stringp);
- if ((wizlevel>=DOMAINMEMBER_LVL) && (sizeof(data)))
- text+="Regionsmitarbeiter"+IN+" von: "+implode(map(data,#'capitalize),", ")+".\n"; /* #' */
- }
+ data=master()->query_userlist(str, USER_DOMAIN);
+ if (sizeof(data))
+ text+="Regionsmagier"+IN+" von : "
+ +implode(map(data,#'capitalize),", ")+".\n";
+ data="/secure/master"->get_domain_homes(str);
+ data=filter(data-({"erzmagier"}),#'stringp);
+ if ((wizlevel>=DOMAINMEMBER_LVL) && (sizeof(data)))
+ text+="Regionsmitarbeiter"+IN+" von: "
+ +implode(map(data,#'capitalize),", ")+".\n";
- if (userinfo) {
- data=userinfo[8];
+ data=master()->query_userlist(str, USER_GUILD);
if (sizeof(data))
- text += "Gildenmagier"+IN+" von : "+implode(map(data, #'capitalize), ", ")+".\n"; /* #' */
- }
+ text += "Gildenmagier"+IN+" von : "
+ +implode(map(data, #'capitalize), ", ")+".\n";
// ggf. Avatar-URI mit ausgeben.
if (flags & FLAG_AVATAR