diff --git a/secure/udp/htmlwho.c b/secure/udp/htmlwho.c
index 51a24b4..f8e5298 100644
--- a/secure/udp/htmlwho.c
+++ b/secure/udp/htmlwho.c
@@ -12,20 +12,17 @@
 
 string adjust(string str,int wid)
 {
-  int w2;
-
-  w2=wid/2;
-  wid=wid-w2;
-  return extract("                                                          ",0,wid-1)+str+
-    extract("                                                         ",0,w2-1);
+  string pattern = sprintf("%%|%ds", wid+sizeof(str));
+  return sprintf(pattern, str);
 }
 
-udp_htmlwho(data)
+void udp_htmlwho(mapping data)
 {
   int i,num;
-  string wholiste,tmp,tmp2;
+  string wholiste, tmp;
+  string* tmp2;
 
-  <object|string>** mdata="/obj/werliste"->QueryWhoListe(0,0,1);
+  <string|<object|string>* > * mdata="/obj/werliste"->QueryWhoListe(0,0,1);
 
   num=sizeof(mdata);
   for (i=num-1;i>=0;i--)
