- const std::string operdata = IS_OPER(user) ? MapOperInfo(Current) : "";
- snprintf(text, 126, "%s %s%5d [%5.2f%%]%s", Current->GetName().c_str(), spacer, Current->GetUserCount(), percent, operdata.c_str());
- totusers += Current->GetUserCount();
- totservers++;
- strlcpy(&matrix[line][depth],text,126);
- line++;
+ char* myname = names + 100 * line;
+ char* mystat = stats + 50 * line;
+ memset(myname, ' ', depth);
+ int w = depth;
+
+ if (user->IsOper())
+ {
+ w += snprintf(myname + depth, 99 - depth, "%s (%s)", Current->GetName().c_str(), Current->GetID().c_str());
+ }
+ else
+ {
+ w += snprintf(myname + depth, 99 - depth, "%s", Current->GetName().c_str());
+ }
+ memset(myname + w, ' ', 100 - w);
+ if (w > maxnamew)
+ maxnamew = w;
+ snprintf(mystat, 49, "%5d [%5.2f%%]%s", Current->UserCount, percent, operdata.c_str());