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
diff --git a/secure/master/domain.c b/secure/master/domain.c
index 984133f..ade06ba 100644
--- a/secure/master/domain.c
+++ b/secure/master/domain.c
@@ -8,9 +8,9 @@
{
string *domains;
int i;
-
+
if (!find_userinfo(user)||
- !pointerp(domains=get_userinfo(user)[USER_DOMAIN+1]))
+ !pointerp(domains=query_userlist(user, USER_DOMAIN)))
return 0;
return (member(domains,domain) != -1);
}
@@ -29,7 +29,7 @@
call_other(SIMUL_EFUN_FILE, "secure_level") < GOD_LVL) ||
!find_userinfo(user))
return 0;
- domains=get_userinfo(user)[USER_DOMAIN+1];
+ domains=query_userlist(user, USER_DOMAIN);
if (!domains)
set_domains(user,({dom}));
else
@@ -51,7 +51,7 @@
if (!IS_GOD(geteuid(previous_object()))
||!find_userinfo(user)
- ||!(domains=get_userinfo(user)[USER_DOMAIN+1])
+ ||!(domains=query_userlist(user, USER_DOMAIN))
|| member(domains,dom)==-1)
return 0;
domains-=({dom});
diff --git a/secure/master/guild.c b/secure/master/guild.c
index 9f4e839..d0c025c 100644
--- a/secure/master/guild.c
+++ b/secure/master/guild.c
@@ -16,7 +16,7 @@
int i;
if (!find_userinfo(user)||
- !pointerp(guilds=get_userinfo(user)[USER_GUILD-1]))
+ !pointerp(guilds=query_userlist(user, USER_GUILD)))
return 0;
return (member(guilds,guild) != -1);
@@ -31,7 +31,7 @@
!find_userinfo(user))
return 0;
- guilds=get_userinfo(user)[USER_GUILD-1];
+ guilds=query_userlist(user, USER_GUILD);
if (!guilds)
set_guilds(user, ({ guild }) );
else {
@@ -47,7 +47,7 @@
if (!IS_GOD(geteuid(previous_object()))
||!find_userinfo(user)
- ||!(guilds=get_userinfo(user)[USER_GUILD-1])
+ ||!(guilds=query_userlist(user, USER_GUILD))
|| member(guilds,guild)==-1)
return 0;
guilds -= ({ guild });
diff --git a/secure/simul_efun/livings.c b/secure/simul_efun/livings.c
index 4ed04b4..2d0ffde 100644
--- a/secure/simul_efun/livings.c
+++ b/secure/simul_efun/livings.c
@@ -1,5 +1,7 @@
// * living_name-Behandlung
+#include "/sys/userinfo.h"
+
#define clean_log(s)
//#define clean_log(s) log_file("CLEAN_SIM",ctime(time())[4..18]+": "+(s));
@@ -23,21 +25,19 @@
public varargs string getuuid( object ob )
{
- mixed *ret;
+ if ( !objectp(ob) )
+ ob = previous_object();
- if ( !objectp(ob) )
- ob = previous_object();
+ if ( !query_once_interactive(ob) )
+ return getuid(ob);
- if ( !query_once_interactive(ob) )
- return getuid(ob);
+ int creation = master()->query_userlist(getuid(ob), USER_CREATION_DATE);
- ret = master()->get_userinfo( getuid(ob) );
+ if (!intp(creation))
+ return getuid(ob);
- if ( !pointerp(ret) || sizeof(ret) < 5 )
- return getuid(ob);
-
- // Username + "_" + CreationDate
- return ret[0] + "_" + ret[5];
+ // Username + "_" + CreationDate
+ return getuid(ob) + "_" + creation;
}
void set_object_living_name(string livname, object obj)
diff --git a/secure/simul_efun/spare/livings.c b/secure/simul_efun/spare/livings.c
index 4ed04b4..2d0ffde 100644
--- a/secure/simul_efun/spare/livings.c
+++ b/secure/simul_efun/spare/livings.c
@@ -1,5 +1,7 @@
// * living_name-Behandlung
+#include "/sys/userinfo.h"
+
#define clean_log(s)
//#define clean_log(s) log_file("CLEAN_SIM",ctime(time())[4..18]+": "+(s));
@@ -23,21 +25,19 @@
public varargs string getuuid( object ob )
{
- mixed *ret;
+ if ( !objectp(ob) )
+ ob = previous_object();
- if ( !objectp(ob) )
- ob = previous_object();
+ if ( !query_once_interactive(ob) )
+ return getuid(ob);
- if ( !query_once_interactive(ob) )
- return getuid(ob);
+ int creation = master()->query_userlist(getuid(ob), USER_CREATION_DATE);
- ret = master()->get_userinfo( getuid(ob) );
+ if (!intp(creation))
+ return getuid(ob);
- if ( !pointerp(ret) || sizeof(ret) < 5 )
- return getuid(ob);
-
- // Username + "_" + CreationDate
- return ret[0] + "_" + ret[5];
+ // Username + "_" + CreationDate
+ return getuid(ob) + "_" + creation;
}
void set_object_living_name(string livname, object obj)
diff --git a/secure/zweities.c b/secure/zweities.c
index fdb3641..da155ed 100644
--- a/secure/zweities.c
+++ b/secure/zweities.c
@@ -69,8 +69,7 @@
&& strstr(testie,"Gilde")==-1)
{
testie=lower_case(testie);
- mixed plinfo = master()->get_userinfo(testie);
- if (pointerp(plinfo))
+ if (master()->find_userinfo(testie))
{
sl_exec("INSERT OR REPLACE INTO testies(name, magier, lastlogin) "
"VALUES(?1,?2,?3);",
@@ -84,14 +83,14 @@
if (stringp(erstie))
{
erstie=lower_case(erstie);
- mixed plinfo = master()->get_userinfo(erstie);
- if (pointerp(plinfo))
+ if (master()->find_userinfo(erstie))
{
sl_exec("INSERT OR REPLACE INTO zweities(uuid, name, erstieuuid, erstie) "
"VALUES(?1,?2,?3,?4);",
getuuid(trigob),
trigob->query_real_name(),
- erstie + "_" + plinfo[USER_CREATION_DATE+1],
+ erstie + "_"
+ + master()->query_userlist(erstie,USER_CREATION_DATE),
erstie);
}
//ZDEBUG(sprintf("%O, %O, %O\n",eid,trigob,data));