diff options
Diffstat (limited to 'contrib/bluegnu2.0.3/example/calc/calc.c')
-rw-r--r-- | contrib/bluegnu2.0.3/example/calc/calc.c | 65 |
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); -} |