diff --git a/du3/program.c b/du3/program.c index b084532..740da66 100644 --- a/du3/program.c +++ b/du3/program.c @@ -2,7 +2,7 @@ #include #include #include - +#include #define STACK_SIZE 10 struct stack @@ -81,6 +81,18 @@ void print_stack(struct stack* mystack) printf(" \n"); } +int is_whitespace_only(const char* str) +{ + while (*str) + { + if (!isspace((unsigned char)*str)) + { + return 0; + } + str++; + } + return 1; +} int main() { @@ -91,6 +103,11 @@ int main() { int flag=switch_operators(input); input[strcspn(input,"\n")]=0; + if (strlen(input)==0 || is_whitespace_only(input)) + { + printf("no input\n"); + return 0; + } if (flag==0 || flag==-1) { if(flag==-1 && mystack.values[mystack.size-1]==0)