diff --git a/Lib/dos-8x3/posixfil.py b/Lib/dos-8x3/posixfil.py
index f0df543..fc5f53f 100755
--- a/Lib/dos-8x3/posixfil.py
+++ b/Lib/dos-8x3/posixfil.py
@@ -196,6 +196,9 @@
             elif sys.platform in ['aix3', 'aix4']:
                 l_type, l_whence, l_start, l_len, l_sysid, l_pid, l_vfs = \
                     struct.unpack('hhlllii', flock)
+	    elif sys.platform == "linux2":
+		l_type, l_whence, l_start, l_len, l_pid, l_sysid = \
+		    struct.unpack('hhllhh', flock)
 	    else:
 		l_type, l_whence, l_start, l_len, l_sysid, l_pid = \
 		    struct.unpack('hhllhh', flock)
diff --git a/Lib/dos-8x3/simpleht.py b/Lib/dos-8x3/simpleht.py
index dd3107a..ac3e384 100755
--- a/Lib/dos-8x3/simpleht.py
+++ b/Lib/dos-8x3/simpleht.py
@@ -10,7 +10,6 @@
 
 
 import os
-import pwd
 import sys
 import time
 import socket
@@ -20,17 +19,6 @@
 import BaseHTTPServer
 
 
-def nobody_uid():
-    """Internal routine to get nobody's uid"""
-    try:
-	nobody = pwd.getpwnam('nobody')[2]
-    except pwd.error:
-	nobody = 1 + max(map(lambda x: x[2], pwd.getpwall()))
-    return nobody
-
-nobody = nobody_uid()
-
-
 class SimpleHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
 
     """Simple HTTP request handler with GET and HEAD commands.
diff --git a/Lib/dos-8x3/test_mat.py b/Lib/dos-8x3/test_mat.py
index af84d2a..6d6bc44 100644
--- a/Lib/dos-8x3/test_mat.py
+++ b/Lib/dos-8x3/test_mat.py
@@ -3,8 +3,9 @@
 
 from test_support import *
 
-eps=1e-5
-print 'math module, testing with eps', eps
+seps='1e-05'
+eps = eval(seps)
+print 'math module, testing with eps', seps
 import math
 
 def testit(name, value, expected):
diff --git a/Lib/dos-8x3/test_str.py b/Lib/dos-8x3/test_str.py
new file mode 100644
index 0000000..5b2ddfb
--- /dev/null
+++ b/Lib/dos-8x3/test_str.py
@@ -0,0 +1,21 @@
+import strop, sys
+
+def test(name, input, output):
+    f = getattr(strop, name)
+    try:
+	value = f(input)
+    except:
+	 value = sys.exc_type
+	 print sys.exc_value
+    if value != output:
+	print f, `input`, `output`, `value`
+
+test('atoi', " 1 ", 1)
+test('atoi', " 1x", ValueError)
+test('atoi', " x1 ", ValueError)
+test('atol', "  1  ", 1L)
+test('atol', "  1x ", ValueError)
+test('atol', "  x1 ", ValueError)
+test('atof', "  1  ", 1.0)
+test('atof', "  1x ", ValueError)
+test('atof', "  x1 ", ValueError)
