From 7f30a03f9411d2169ee9e413ceb8f5b9c07dc120 Mon Sep 17 00:00:00 2001 From: Zeex Date: Mon, 7 Apr 2014 22:24:52 +0700 Subject: [PATCH] Ignore #pragma tabsize with non-positive arguments #pragma tabsize X will now have no effect for X <= 0. Same goes for the -t option (will display usage instead). Closes #24. --- source/compiler/sc1.c | 6 +++++- source/compiler/sc2.c | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/source/compiler/sc1.c b/source/compiler/sc1.c index 590b7e6..f69f439 100644 --- a/source/compiler/sc1.c +++ b/source/compiler/sc1.c @@ -1098,7 +1098,11 @@ static void parseoptions(int argc,char **argv,char *oname,char *ename,char *pnam skipinput=atoi(option_value(ptr)); break; case 't': - sc_tabsize=atoi(option_value(ptr)); + i=atoi(option_value(ptr)); + if (i>0) + sc_tabsize=i; + else + about(); break; case 'v': verbosity= isdigit(*option_value(ptr)) ? atoi(option_value(ptr)) : 2; diff --git a/source/compiler/sc2.c b/source/compiler/sc2.c index 14d62de..6315ca3 100644 --- a/source/compiler/sc2.c +++ b/source/compiler/sc2.c @@ -1144,7 +1144,8 @@ static int command(void) } else if (strcmp(str,"tabsize")==0) { cell val; preproc_expr(&val,NULL); - sc_tabsize=(int)val; + if (val>0) + sc_tabsize=(int)val; } else if (strcmp(str,"align")==0) { sc_alignnext=TRUE; } else if (strcmp(str,"unused")==0) {