- controlreply(np, "%s%d %02.2f %s", (clonecount<1)?">":"=", abs(clonecount), percentage, max);
+ controlreply(np, "%s%d %06.2f%% %s", (clonecount<1)?">":"=", abs(clonecount), percentage, max);
+}
+
+int ch_chanhistogram(void *source, int cargc, char **cargv) {
+ nick *np = (nick *)source;
+ nick *np2;
+ int count[MAX_CHANS + 2], j, n, total = 0;
+
+ memset(count, 0, sizeof(count));
+
+ for (j=0;j<NICKHASHSIZE;j++) {
+ for(np2=nicktable[j];np2;np2=np2->next) {
+ total++;
+ n = np2->channels->cursi;
+ if(n > MAX_CHANS) {
+ count[MAX_CHANS + 1]++;
+ } else {
+ count[n]++;
+ }
+ }
+ }
+
+
+ for(j=1;j<=MAX_CHANS;j++)
+ histoutput(np, j, count[j], total);
+
+ histoutput(np, -(MAX_CHANS + 1), count[MAX_CHANS + 1], total);
+
+ return CMD_OK;