--- mailinglist.c.orig.88	Wed Oct 24 17:09:15 2001
+++ mailinglist.c	Wed Oct 24 23:22:59 2001
@@ -493,7 +493,7 @@
 {
  FILE *fs;
- int i,handles[2],pid,a,x,y,z,z1=1,index = 0,subuser_count = 0; 
- char *pa[MAX_BUFF];
- char sublist[MAX_BUFF][MAX_BUFF];
+ int i,handles[2],pid,a,x,y,z = 0,z1=1,index = 0,subuser_count = 0; 
+ unsigned char *pa[65536];
+ unsigned char sublist[65536][96];
  char *p,*wack;
 
@@ -530,43 +530,50 @@
 		fs = fdopen(handles[0],"r");
 
+                /* Load subscriber list into array */
+
+                while( fgets(sublist[index], sizeof(sublist[index]), fs)!= NULL) {
+                        i = strlen(sublist[index]); --i; sublist[index][i] = 0;
+                        pa[index] = sublist[index];
+                        index++; subuser_count++;
+                }
+
+                /* Sort the array alphabetically - future version will sort by domain also */
+
+                  for(a = 0; a < index-1 ; ++a) {
+                        for(x = a+1; x < index; ++x) {
+                                z = strcmp(pa[a],pa[x]);
+                                if(z > 0) {
+                                        wack = pa[a];
+                                        pa[a] = pa[x];
+                                        pa[x] = wack; 
+                                }
+                        }
+                }
+
 		/* Display subsriber list, along with delete button */
-		fprintf(actout,"<TABLE border=0>");
+		fprintf(actout,"<TABLE border=0");
 		fprintf(actout,"    <TR>");
+		fprintf(actout,"    <TD align=left><B>%s</B>: %d<BR><BR></TD>", get_html_text("230"), subuser_count);
+		fprintf(actout,"    </TR>");
+		fprintf(actout,"    <TR align=middle>");
 		fprintf(actout,"        <TD align=middle><b>%s</b></TD>", get_html_text("222"));
 		fprintf(actout,"        <TD align=middle><b>%s</b></TD>", get_html_text("084"));
+                fprintf(actout,"        <TD align=middle><b>%s</b></TD>", get_html_text("222"));
+                fprintf(actout,"        <TD align=middle><b>%s</b></TD>", get_html_text("084"));
 		fprintf(actout,"    </TR>");
 
-		/* Load subscriber list into array */
-
- 		while( fgets(sublist[index], MAX_BUFF, fs)!= NULL) {
-			i = strlen(sublist[index]); --i; sublist[index][i] = 0; 
-			pa[index] = sublist[index]; 
-			index++;
-		}
-	
-		/* Sort the array alphabetically - future version will sort by domain also */
-
-		  for(a = 0; a < index-1 ; ++a) {
-		        for(x = a+1; x < index; ++x) {
-				z = strcmp(pa[a],pa[x]);
-                		if(z > 0) {
-                        		wack = pa[a]; 
-                        		pa[a] = pa[x];
-                        		pa[x] = wack; 
-                		}
-        		}
-  		}
-
 		for(z = 0; z < index; ++z) {
-			fprintf(actout,"    <TR>");
-			fprintf(actout,"        <TD>%s</TD>", pa[z]);
+			fprintf(actout,"    <TR align=middle>");
+			fprintf(actout,"        <TD align=right>%s</TD>", pa[z]);
 			fprintf(actout,"        <TD align=middle><A href=%s/com/dellistusernow?modu=%s&newu=%s&dom=%s&user=%s&time=%d><IMG src=/images/qmailadmin/delete.gif border=0></A></TD>\n",
 				CGIPATH, ActionUser, pa[z], Domain, Username, Mytime);
+			++z;
+                        fprintf(actout,"        <TD align=right>%s</TD>", pa[z]);
+                        fprintf(actout,"        <TD align=middle><A href=%s/com/dellistusernow?modu=%s&newu=%s&dom=%s&user=%s&time=%d><IMG src=/images/qmailadmin/delete.gif border=0></A></TD>\n",CGIPATH, ActionUser, pa[z], Domain, Username, Mytime);
 			fprintf(actout,"    </TR>");
-                        ++subuser_count;
 		}
 
 		fprintf(actout,"</TABLE>");
-                fprintf(actout,"<B>%s</B> %d<BR>", 
+                fprintf(actout,"<BR><B>%s</B> %d<BR><BR>", 
                     get_html_text("230"), subuser_count);
 		fclose(fs); close(handles[0]);
