PCXReader.st
changeset 499 58852715e10d
parent 398 aef700d15416
child 530 749f21b7eff4
--- a/PCXReader.st	Thu Mar 06 22:40:12 1997 +0100
+++ b/PCXReader.st	Mon Mar 17 12:05:22 1997 +0100
@@ -150,7 +150,8 @@
       dataBytes buffer 
       bufferIndex "{Class: SmallInteger }"
       bendIndex   "{Class: SmallInteger }"
-      nBuffer     "{Class: SmallInteger }"|
+      nBuffer     "{Class: SmallInteger }"
+      mapSize|
 
     version := header at:2.
 "/    'version=' print. version printNL.
@@ -298,7 +299,9 @@
         ].
         rawMap := ByteArray uninitializedNew:(256*3).
         nBuffer ~~ 0 ifTrue:[
-            rawMap replaceFrom:1 to:(256*3) with:buffer startingAt:bufferIndex.
+            mapSize := buffer size - bufferIndex + 1.
+            mapSize := mapSize min:(256*3).
+            rawMap replaceFrom:1 to:mapSize with:buffer startingAt:bufferIndex.
             nBuffer < (256*3) ifTrue:[
                 inStream nextBytes:((256*3)-nBuffer) into:rawMap startingAt:nBuffer+1
             ]
@@ -329,11 +332,13 @@
      i := Image fromFile:'somefile.pcx'.
      i inspect.
     "
+
+    "Modified: 17.3.1997 / 12:04:18 / cg"
 ! !
 
 !PCXReader class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview2/PCXReader.st,v 1.17 1997-02-01 14:05:24 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/PCXReader.st,v 1.18 1997-03-17 11:05:22 cg Exp $'
 ! !
 PCXReader initialize!