소스 검색

Fixed string_substr primitive

Yentl Van Tendeloo 8 년 전
부모
커밋
aed0d19f50
2개의 변경된 파일5개의 추가작업 그리고 5개의 파일을 삭제
  1. 3 1
      bootstrap/primitives.alc
  2. 2 4
      scripts/compile.py

+ 3 - 1
bootstrap/primitives.alc

@@ -149,11 +149,13 @@ String function string_substr(a: String, b: Integer, c: Integer):
 	i = 0
 	result = ""
 	while (i < string_len(a)):
-		if (bool_and(i > b, i < c)):
+		if (bool_and(i >= b, i < c)):
 			result = result + string_get(a, i)
 
 		if (i > c):
 			return result!
+
+		i = i + 1
 	return result!
 	
 Element function resolve(name : String):

+ 2 - 4
scripts/compile.py

@@ -11,11 +11,9 @@ def do_compile(address, filename, username, modulename, mode, optionals=[], gram
     except urllib2.URLError:
         return 2
     except:
-        urllib2.urlopen(urllib2.Request(address, 'op=set_input&username=user_manager&value="__delete"')).read()
-        urllib2.urlopen(urllib2.Request(address, 'op=set_input&username=user_manager&value="%s"' % username)).read()
+        urllib2.urlopen(urllib2.Request(address, 'op=set_input&username=user_manager&value="__%s"' % username)).read()
         return 1
-    urllib2.urlopen(urllib2.Request(address, 'op=set_input&username=user_manager&value="__delete"')).read()
-    urllib2.urlopen(urllib2.Request(address, 'op=set_input&username=user_manager&value="%s"' % username)).read()
+    urllib2.urlopen(urllib2.Request(address, 'op=set_input&username=user_manager&value="__%s"' % username)).read()
     return 0
 
 if __name__ == "__main__":