#include <stdio.h>
#include <strings.h>
#include <dicterrors.h>
#include <errno.h>

dictColumnOutput(strings)
char **strings;
{
     int len = 0, newlen;
     int i, num;
     int columns;
     
     for (num = 0; strings[num]; num++) {
	  newlen = strlen(strings[num]);
	  if (newlen > len)
	       len = newlen;
     }

     columns = 80 /* XXX */ / (len + 2);
     if (! columns)
	  columns = 1;

     for (i = 0; i < num; i++) {
	  if ((i + 1) % columns) {
	       fprintf(stdout, "%-*s  ", len, strings[i]);
	       if (ferror(stdout)) {
		    dict_set_error(errno ? errno : -1);
		    return(dict_error_code);
	       }
	  }
	  else {
	       fprintf(stdout, "%s\n", strings[i]);
	       if (ferror(stdout)) {
		    dict_set_error(errno ? errno : -1);
		    return(dict_error_code);
	       }
	  }
     }

     if (i % columns)
	  fputc('\n', stdout);
     
     return(0);
}
