diff -u 870527-ibm-pc/README 861030-darmon/README
--- 870527-ibm-pc/README	Wed May 27 00:12:39 1987
+++ 861030-darmon/README	Sat Feb 11 20:45:04 1995
@@ -1,20 +1,23 @@
-Here are versions of uuencode and uudecode that will work on an IBM
-PC.  There is a version for Turbo Pascal and one for Microsoft C.
-Porting them into other machines, languages or dialects should not
-pose a large problem.
+Relay-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site hoptoad.uucp
+From: darmon@polaris.UUCP (Pierre Darmon)
+Newsgroups: net.sources
+Subject: Modified Turbo Pascal uudecode/encode. More user-friendly.
+Date: 30 Oct 86 01:12:40 GMT
+Date-Received: 
+Reply-To: darmon@polaris.UUCP (Pierre Darmon)
+Organization: IBM Research, Yorktown Heights, N.Y.
 
-Sorry about the lack of documentation, but the programs are easy to
-use, so you should not have a problem.  I don't know why a UNIX
-site would not have these in the first place, but at least your
-manual should tell you how to use them.  If you are not using UNIX
-at all, you have my sympathy.
+The following are the Turbo Pascal source files for uudecode and uuencode,
+modified from the net posting to display the remaining bytes to be processed,
+instead of filling up the screen with periods. It also displays the percentage
+left. See my previous posting to net.micro,net.micro.pc and net.sources for
+details.
 
-The Pascal programs' author is unknown.  The C programs were
-provided by Don Kneller.
+Enjoy!
 
-Tom Reingold
-Rockefeller University
-New York City
-UUCP:    {seismo | harvard | ihnp4}!cmcl2!rna!rocky2!reintom
-BITNET:  REINTOM@ROCKVAX
-ARPANET: reintom@rockefeller.arpa
+
+-- 
+
+Pierre Darmon, IBM Thomas J. Watson Research Center.                        
+.....seismo!philabs!polaris!darmon.
+darmon.yktvmz.ibm@csnet-relay  
Only in 861030-darmon: diffs
diff -u 870527-ibm-pc/uudecode.pas 861030-darmon/uudecode.pas
--- 870527-ibm-pc/uudecode.pas	Wed May 27 00:12:39 1987
+++ 861030-darmon/uudecode.pas	Sat Feb 11 20:44:32 1995
@@ -6,9 +6,11 @@
   TYPE string80 = string[80];
 
   VAR infile: text;
+      fi    : file of byte;
       outfile: file of byte;
       lineNum: integer;
       line: string80;
+      size,remaining :real;
 
   procedure Abort(message: string80);
 
@@ -23,8 +25,11 @@
 
     begin {NextLine}
       LineNum := succ(LineNum);
-      write('.');
-      readln(infile, s)
+      {write('.');}
+      readln(infile, s);
+      remaining:=remaining-length(s)-2;  {-2 is for CR/LF}
+      write('bytes remaining: ',remaining:7:0,' (',
+            remaining/size*100.0:3:0,'%)',chr(13));
     end; {NextLine}
 
   procedure Init;
@@ -43,7 +48,11 @@
         reset(infile);
         {$i+}
         if IOresult > 0 then abort (concat('Can''t open ', infilename));
-        writeln ('Decoding ', infilename)
+        writeln ('Decoding ', infilename);
+        assign(fi,infilename); reset(fi);
+        size:=FileSize(fi); close(fi);
+        if size < 0 then size:=size+65536.0;
+        remaining:=size;
       end; {GetInFile}
 
     procedure GetOutFile;
@@ -158,7 +167,7 @@
           then abort('Illegal character in line.');
 {        write(line[lineindex]:2);}
         if line[lineindex] = '`' then nextch := ' '
-                                  else nextch := line[lineIndex]
+                                 else nextch := line[lineIndex]
       end; {nextch}
 
     procedure DecodeByte;
diff -u 870527-ibm-pc/uuencode.pas 861030-darmon/uuencode.pas
--- 870527-ibm-pc/uuencode.pas	Wed May 27 00:12:40 1987
+++ 861030-darmon/uuencode.pas	Sat Feb 11 20:44:51 1995
@@ -18,6 +18,7 @@
       line: array [0..59] of char;
       hunk: array [0..2] of byte;
       chars: array [0..3] of byte;
+      size,remaining :real;
 
 {  procedure debug;
 
@@ -70,6 +71,9 @@
         reset (infile);
         {$i+}
         if IOResult > 0 then abort (concat ('Can''t open file ', infilename));
+        size:=FileSize(infile);
+        if size < 0 then size:=size+65536.0;
+        remaining:=size;
         write('Uuencoding file ', infilename);
 
         i := pos('.', infilename);
@@ -131,7 +135,9 @@
       end; {writeout}
 
     begin {FlushLine}
-      write ('.');
+      {write ('.');}
+      write('bytes remaining: ',remaining:7:0,' (',
+            remaining/size*100.0:3:0,'%)',chr(13));
       writeout(chr(bytesInLine + offset));
       for i := 0 to pred(lineLength) do
         writeout(line[i]);
@@ -167,6 +173,7 @@
     begin {encode1};
       if numbytes = bytesperhunk then flushhunk;
       read (infile, hunk[numbytes]);
+      remaining:=remaining-1;
       numbytes := succ(numbytes)
     end; {encode1}
 
@@ -190,5 +197,6 @@
   begin {uuencode}
     init;
     while not eof (infile) do encode1;
-    terminate
+    terminate;
+    writeln;
   end. {uuencode}
