Selaa lähdekoodia

skip traling spaces by operands

kaashoek 36 vuotta sitten
vanhempi
commit
c832d740fb
1 muutettua tiedostoa jossa 10 lisäystä ja 3 poistoa
  1. 10 3
      util/ceg/assemble/obj_assemble/assemble.c

+ 10 - 3
util/ceg/assemble/obj_assemble/assemble.c

@@ -116,16 +116,23 @@ char *parse_operand( ptr, n_ops, instr)
 	char *ptr, *instr;
 	int  n_ops;
 {
-	char *op = ptr;
+	char *op = ptr,
+	     *last;
 
 	ptr = skip_operand( ptr, instr);
 	if ( *ptr != '\0')  {
-		if ( *ptr == ',') 
-			*ptr++ = '\0';
+		if ( *ptr == ',')  {
+			for( last=ptr-1; isspace( *last); last--) 
+				;
+			*(last+1) = '\0';
+		}
 		else {
+			fprintf(stderr, "strange operand format: %s\n", ptr);
+			/* 
 			*ptr++ = '\0';
 			ptr = skip_space( ptr);
 			if  ( *ptr != '\0') ptr++;   /* skip ';' */
+  			*/
 		}
 		ptr = skip_space( ptr);
 	}