summaryrefslogtreecommitdiffstats
path: root/bin/expr/expr.y
diff options
context:
space:
mode:
Diffstat (limited to 'bin/expr/expr.y')
-rw-r--r--bin/expr/expr.y14
1 files changed, 13 insertions, 1 deletions
diff --git a/bin/expr/expr.y b/bin/expr/expr.y
index e745bb7..76ffe44 100644
--- a/bin/expr/expr.y
+++ b/bin/expr/expr.y
@@ -4,7 +4,7 @@
*
* Largely rewritten by J.T. Conklin (jtc@wimsey.com)
*
- * $Id: expr.y,v 1.8 1994/09/24 02:55:37 davidg Exp $
+ * $Id: expr.y,v 1.9 1995/03/19 13:28:41 joerg Exp $
*/
#include <stdio.h>
@@ -107,13 +107,25 @@ make_str (s)
char *s;
{
struct val *vp;
+ int i, isint;
vp = (struct val *) malloc (sizeof (*vp));
if (vp == NULL || ((vp->u.s = strdup (s)) == NULL)) {
err (2, NULL);
}
+ for(i = 1, isint = isdigit(s[0]) || s[0] == '-';
+ isint && i < strlen(s);
+ i++)
+ {
+ if(!isdigit(s[i]))
+ isint = 0;
+ }
+
vp->type = string;
+ if(isint)
+ to_integer(vp);
+
return vp;
}
OpenPOWER on IntegriCloud