about summary refs log tree commit diff
path: root/converter/pbm/pbmtogo.c
diff options
context:
space:
mode:
Diffstat (limited to 'converter/pbm/pbmtogo.c')
-rw-r--r--converter/pbm/pbmtogo.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/converter/pbm/pbmtogo.c b/converter/pbm/pbmtogo.c
index 36b145c4..18f3ab6c 100644
--- a/converter/pbm/pbmtogo.c
+++ b/converter/pbm/pbmtogo.c
@@ -102,7 +102,7 @@ main( argc, argv )
     padright = rucols - cols;
 
     for (i = 0; i < BUFSIZE; ++i )
-      buffer[i] = 0;
+      buffer[i] = oldscanline[i] = 0;
     putinit();
 
     /* Start donwloading screen raster */
@@ -151,7 +151,7 @@ main( argc, argv )
                   {
                       olditem = buffer[nbyte++];
                       ucount++;
-                  } while ((olditem != buffer[nbyte])
+                  } while (nbyte < bytesperrow && (olditem != buffer[nbyte])
                            && (ucount < MIN(bytesperrow, MAX_REPEAT)));
                   
                 if ((ucount != MAX_REPEAT) && (nbyte != bytesperrow)) {
@@ -182,7 +182,7 @@ main( argc, argv )
                   {
                       olditem = buffer[nbyte++];
                       ecount++;
-                  } while ((olditem == buffer[nbyte])
+                  } while (nbyte < bytesperrow && (olditem == buffer[nbyte])
                            && (ecount < MIN(bytesperrow, MAX_REPEAT)));
                   
                 if (ecount > 1) {