aboutsummaryrefslogtreecommitdiff
path: root/contrib/bluegnu2.0.3/example/calc/calc.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bluegnu2.0.3/example/calc/calc.c')
-rw-r--r--contrib/bluegnu2.0.3/example/calc/calc.c65
1 files changed, 0 insertions, 65 deletions
diff --git a/contrib/bluegnu2.0.3/example/calc/calc.c b/contrib/bluegnu2.0.3/example/calc/calc.c
deleted file mode 100644
index 784e39b..0000000
--- a/contrib/bluegnu2.0.3/example/calc/calc.c
+++ /dev/null
@@ -1,65 +0,0 @@
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#include <ctype.h>
-#include <stdio.h>
-#include "calc.h"
-
-static int words();
-
-int main()
-{
- char line[SIZE];
- int nword;
- char *words[NWORD];
-
- while(printf("calc: "), fflush(stdout), fgets(line,SIZE,stdin) != NULL) {
- if((nword = split(line,words,NWORD)) == 0) continue;
- if(strcmp(words[0],"add") == 0) {
- if(nword != 3) {
- printf("Usage: add #1 #2\n");
- } else {
- printf("%d",atoi(words[1]) + atoi(words[2]));
- }
- } else if(strcmp(words[0],"multiply") == 0) {
- if(nword != 3) {
- printf("Usage: multiply #1 #2\n");
- } else {
- int i1 = atoi(words[1]);
- if(i1 == 2) i1 = 3; /* this is a bug */
- printf("%d",i1*atoi(words[2]));
- }
- } else if(strcmp(words[0],"quit") == 0) {
- break;
- } else if(strcmp(words[0],"version") == 0) {
- printf("Version: %s",VERSION);
- } else {
- printf("Unknown command: %s",words[0]);
- }
- printf("\n");
- }
-
- return(0);
-}
-
-int
-split(line,words,nword)
-char *line;
-char **words;
-int nword; /* number of elements in words */
-{
- int i;
-
- while(isspace(*line)) line++;
- if(*line == '\0') return(0);
-
- for(i = 0;i < nword;i++) {
- words[i] = line;
- while(*line != '\0' && !isspace(*line)) line++;
- if(*line == '\0') break;
- *line++ = '\0';
- while(isspace(*line)) line++;
- }
-
- return(i);
-}