Commit 3c8e54bf authored by Greg Ward's avatar Greg Ward

Applied Fred's patch to fix the bugs that John Skaller noticed.

parent 9c30c24b
...@@ -15,6 +15,7 @@ __version__ = "$Revision$" ...@@ -15,6 +15,7 @@ __version__ = "$Revision$"
def _init_posix(): def _init_posix():
import os import os
import re import re
import string
import sys import sys
g = globals() g = globals()
...@@ -35,9 +36,8 @@ def _init_posix(): ...@@ -35,9 +36,8 @@ def _init_posix():
m = define_rx.match(line) m = define_rx.match(line)
if m: if m:
n, v = m.group(1, 2) n, v = m.group(1, 2)
if v == "1": try: v = string.atoi(v)
g[n] = 1 except ValueError: pass
else:
g[n] = v g[n] = v
else: else:
m = undef_rx.match(line) m = undef_rx.match(line)
...@@ -57,9 +57,12 @@ def _init_posix(): ...@@ -57,9 +57,12 @@ def _init_posix():
m = variable_rx.match(line) m = variable_rx.match(line)
if m: if m:
n, v = m.group(1, 2) n, v = m.group(1, 2)
v = string.strip(v)
if "$" in v: if "$" in v:
notdone[n] = v notdone[n] = v
else: else:
try: v = string.atoi(v)
except ValueError: pass
done[n] = v done[n] = v
# do variable interpolation here # do variable interpolation here
...@@ -79,7 +82,9 @@ def _init_posix(): ...@@ -79,7 +82,9 @@ def _init_posix():
if "$" in after: if "$" in after:
notdone[name] = value notdone[name] = value
else: else:
done[name] = value try: value = string.atoi(value)
except ValueError: pass
done[name] = string.strip(value)
del notdone[name] del notdone[name]
elif notdone.has_key(n): elif notdone.has_key(n):
# get it on a subsequent round # get it on a subsequent round
...@@ -91,9 +96,12 @@ def _init_posix(): ...@@ -91,9 +96,12 @@ def _init_posix():
if "$" in after: if "$" in after:
notdone[name] = value notdone[name] = value
else: else:
done[name] = value try: value = string.atoi(value)
except ValueError: pass
done[name] = string.strip(value)
del notdone[name] del notdone[name]
else: else:
# bogus variable reference; just drop it since we can't deal
del notdone[name] del notdone[name]
# save the results in the global dictionary # save the results in the global dictionary
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment