diff -ur rubyscript2exe-0.1.14.tar.gz/rubyscript2exe/eee.pas rubyscript2exe-0.1.15.tar.gz/rubyscript2exe/eee.pas
--- rubyscript2exe-0.1.14.tar.gz/rubyscript2exe/eee.pas	2004-05-02 23:56:22.000000000 +0200
+++ rubyscript2exe-0.1.15.tar.gz/rubyscript2exe/eee.pas	2004-05-14 22:48:30.000000000 +0200
@@ -70,7 +70,7 @@
         assign(f, sr.name);
         erase(f);
         if (ioresult <> 0) then begin
-          writeln(´Couldn´´t delete file ´ + sr.name);
+          // writeln(´Couldn´´t delete file ´ + sr.name);
         end;
       {$I+}
 
@@ -85,7 +85,7 @@
   {$I-}
     rmdir(path + ´\´);
     if (ioresult <> 0) then begin
-      writeln(´Couldn´´t delete directory ´ + path + ´ (Known Error).´);
+      // writeln(´Couldn´´t delete directory ´ + path + ´ (Known Error).´);
     end;
   {$I+}
 
@@ -116,10 +116,10 @@
 
 begin
 
-  c		:= trunc(inlength/sizeof(b));
+  c		:= trunc(inlength div sizeof(b));
 
   while (c >= 0) do begin
-    if (c = 0)	then l := inlength-(trunc(inlength/sizeof(b))*sizeof(b))
+    if (c = 0)	then l := inlength-(trunc(inlength div sizeof(b))*sizeof(b))
 		else l := sizeof(b);
 
     blockread(infile, b, l, n);
@@ -140,10 +140,10 @@
 
 begin
 
-  c		:= trunc(inlength/sizeof(b));
+  c		:= trunc(inlength div sizeof(b));
 
   while (c >= 0) do begin
-    if (c = 0)	then l := inlength-(trunc(inlength/sizeof(b))*sizeof(b))
+    if (c = 0)	then l := inlength-(trunc(inlength div sizeof(b))*sizeof(b))
 		else l := sizeof(b);
 
     blockread(infile, b, l, n);
@@ -317,31 +317,26 @@
 
 begin
 
-    randomize;
-
-    workdir	:= paramstr(0);
-    workdir	:= copy(workdir, 1, length(workdir)-4);
-
-    {$I-}
-      mkdir(workdir);
-      if (ioresult = 183) then begin
-        writeln(´Can´´t create ´, workdir, ´.´);
-      end;
-    {$I-}
-
     assign(infile, paramstr(0));
     reset(infile, 1);
-    blockeat(infile, t.length);
+
+    assign(outfile, ´eee.exe´);
+    rewrite(outfile);
+    blockcopy(infile, outfile, t.length, false);
+    close(outfile);
+
+    assign(eeefile, ´app.eee´);
+    rewrite(eeefile);
 
     try
 
       for teller := 1 to t.number do begin
         blockread(infile, h, sizeof(h));
 
-        writeln(h.klasse, ´ ´, h.tekst);
+        writeln(eeefile, h.klasse, ´ ´, h.tekst);
 
         if (h.klasse = ´f´) then begin
-          assign(outfile, workdir + ´\´ + h.tekst);
+          assign(outfile, h.tekst);
           rewrite(outfile, 1);
 
           blockcopy(infile, outfile, h.length, true);
@@ -352,6 +347,8 @@
 
     finally
 
+      close(eeefile);
+
       close(infile);
 
     end;
diff -ur rubyscript2exe-0.1.14.tar.gz/rubyscript2exe/ev/ftools.rb rubyscript2exe-0.1.15.tar.gz/rubyscript2exe/ev/ftools.rb
--- rubyscript2exe-0.1.14.tar.gz/rubyscript2exe/ev/ftools.rb	2004-05-04 22:17:23.000000000 +0200
+++ rubyscript2exe-0.1.15.tar.gz/rubyscript2exe/ev/ftools.rb	2004-05-15 11:59:12.000000000 +0200
@@ -7,7 +7,7 @@
     end
 
     if FileTest.directory?(entry)
-      pdir = Dir.pwd
+      pdir	= Dir.pwd
 
       Dir.chdir(entry)
         Dir.new(".").each do |e|
@@ -18,4 +18,42 @@
       Dir.rmdir(entry)
     end
   end
+
+  def self.rollbackup(file)
+    backupfile	= file + ".RB.BACKUP"
+    controlfile	= file + ".RB.CONTROL"
+
+    File.touch(file)    unless File.file?(file)
+
+	# Rollback
+
+    if File.file?(backupfile) and File.file?(controlfile)
+      $stdout.puts "Restoring #{file}..."
+
+      File.copy(backupfile, file)				# Rollback from fase 3
+    end
+
+	# Reset
+
+    File.delete(backupfile)	if File.file?(backupfile)	# Reset from fase 2 or 3
+    File.delete(controlfile)	if File.file?(controlfile)	# Reset from fase 3 or 4
+
+	# Backup
+
+    File.copy(file, backupfile)					# Enter fase 2
+    File.touch(controlfile)					# Enter fase 3
+
+	# The real thing
+
+    yield	if block_given?
+
+	# Cleanup
+
+    File.delete(backupfile)					# Enter fase 4
+    File.delete(controlfile)					# Enter fase 5
+  end
+
+  def self.touch(file)
+    File.open(file, "a"){|f|}
+  end
 end
Binary files rubyscript2exe-0.1.14.tar.gz/rubyscript2exe/eee.exe and rubyscript2exe-0.1.15.tar.gz/rubyscript2exe/eee.exe differ
Binary files rubyscript2exe-0.1.14.tar.gz/rubyscript2exe/eeew.exe and rubyscript2exe-0.1.15.tar.gz/rubyscript2exe/eeew.exe differ