shithub: riscv

Download patch

ref: 79fbfbff48c19e11c60317797e7b9f2903e69a37
parent: 5aa224c153db83a9fe82848860a062c7c3566cc5
author: cinap_lenrek <[email protected]>
date: Sun May 1 17:52:34 EDT 2016

acid: don't get fooled by spaces in convflt()

--- a/sys/src/cmd/acid/exec.c
+++ b/sys/src/cmd/acid/exec.c
@@ -213,17 +213,24 @@
 void
 convflt(Node *r, char *flt)
 {
-	char c;
+	char *s;
 
-	c = flt[0];
-	if(('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')) {
+	while(*flt == ' ')
+		flt++;
+
+	s = flt;
+	if(*s == '-' || *s == '+')
+		s++;
+	if(*s == '.')
+		s++;
+
+	if(*s >= '0' && *s <= '9'){	
+		r->type = TFLOAT;
+		r->fval = atof(flt);
+	} else {
 		r->type = TSTRING;
 		r->fmt = 's';
 		r->string = strnode(flt);
-	}
-	else {
-		r->type = TFLOAT;
-		r->fval = atof(flt);
 	}
 }