Xinu7/src/serve11/sys/shell/x_help.c
/* x_help.c - x_help */
#include <conf.h>
#include <kernel.h>
#include <shell.h>
#include <cmd.h>
#define COLUMNS 4 /* number of columns to print */
/*------------------------------------------------------------------------
* x_help - (command help) print possible command names for user
*------------------------------------------------------------------------
*/
COMMAND x_help(stdin, stdout, stderr, nargs, args)
int stdin, stdout, stderr, nargs;
char *args[];
{
int inc; /* command names per column */
int i; /* move through printed rows */
int j; /* move across printed columns */
if ( (inc=(Shl.shncmds+COLUMNS-1)/COLUMNS) <= 0)
inc = 1;
fprintf(stdout, "Commands are:\n");
for(i=0 ; i<inc && i<Shl.shncmds ; i++) {
fprintf(stdout, " ");
for (j=i ; j<Shl.shncmds ; j+=inc)
fprintf(stdout, "%-16s", cmds[j].cmdnam);
fprintf(stdout, "\n");
}
return(OK);
}