diff options
author | abial <abial@FreeBSD.org> | 1998-08-27 17:38:45 +0000 |
---|---|---|
committer | abial <abial@FreeBSD.org> | 1998-08-27 17:38:45 +0000 |
commit | d38ad5332060d44f048e5b407d0b8e17da9a909c (patch) | |
tree | 3a1c3f90cb24f6c1da60d6fc980d38317610a4c8 /release/picobsd/tinyware/help | |
download | FreeBSD-src-d38ad5332060d44f048e5b407d0b8e17da9a909c.zip FreeBSD-src-d38ad5332060d44f048e5b407d0b8e17da9a909c.tar.gz |
Initial import of PicoBSD v0.4 tree.
Diffstat (limited to 'release/picobsd/tinyware/help')
-rw-r--r-- | release/picobsd/tinyware/help/Makefile | 9 | ||||
-rw-r--r-- | release/picobsd/tinyware/help/README | 8 | ||||
-rw-r--r-- | release/picobsd/tinyware/help/help.c | 97 |
3 files changed, 114 insertions, 0 deletions
diff --git a/release/picobsd/tinyware/help/Makefile b/release/picobsd/tinyware/help/Makefile new file mode 100644 index 0000000..0b56779 --- /dev/null +++ b/release/picobsd/tinyware/help/Makefile @@ -0,0 +1,9 @@ +# $Id: Makefile,v 1.1.1.1 1998/07/14 07:30:53 abial Exp $ +# +PROG=help +SRCS+=help.c +NOMAN=yes + +.include <bsd.prog.mk> + + diff --git a/release/picobsd/tinyware/help/README b/release/picobsd/tinyware/help/README new file mode 100644 index 0000000..8b86ba1 --- /dev/null +++ b/release/picobsd/tinyware/help/README @@ -0,0 +1,8 @@ +1998.02.20 + +This is work in progress. Eventually I'll prepare the help system for newbies, +and these files are just the beginning of it... + +<abial@nask.pl> + +$Id: README,v 1.1.1.1 1998/07/14 07:30:53 abial Exp $ diff --git a/release/picobsd/tinyware/help/help.c b/release/picobsd/tinyware/help/help.c new file mode 100644 index 0000000..fda11a6 --- /dev/null +++ b/release/picobsd/tinyware/help/help.c @@ -0,0 +1,97 @@ +/*- + * Copyright (c) 1998 Andrzej Bialecki + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $Id: help.c,v 1.1.1.1 1998/07/14 07:30:53 abial Exp $ + * + */ + + +#include <stdio.h> +#include <string.h> +#include <sys/types.h> +#include <dirent.h> + +void +display(char *fname) +{ + FILE *fd; + DIR *dirp; + struct dirent *d; + char buf[100],junk[5],c, *dot; + int i; + + snprintf(buf,99,"/help/%s.hlp",fname); + if((fd=fopen(buf,"r"))==NULL) { + printf("No help available for '%s'.\n",fname); + exit(1); + } + printf("\n"); + i=0; + while(!feof(fd)) { + if(fgets(buf,99,fd)==NULL) continue; + if(i<23) { + printf("%s",buf); + i++; + } else { + printf("[7mPress Enter to continue[m"); + fgets(junk,5,stdin); + printf("%s",buf); + i=0; + } + } + printf("\n"); + i=0; + if(strcmp(fname,"help")==0) { + printf("The following help items are available:\n\n"); + dirp=opendir("/help/."); + while((d=readdir(dirp))!=NULL) { + if(d->d_name[0]=='.') continue; + if((dot=strchr(d->d_name,'.'))!=NULL) { + *dot='\0'; + } + printf("%-13s",d->d_name); + i++; + if(i>5) { + printf("\n"); + i=0; + } + } + closedir(dirp); + printf("\n"); + } + return; +} + + +int +main(int argc, char *argv[]) +{ + if(argc==1) { + display("help"); + } else { + display(argv[1]); + } + exit(0); +} |