diff -ur rubyscript2exe-0.1.13.tar.gz/rubyscript2exe/eee.pas rubyscript2exe-0.1.14.tar.gz/rubyscript2exe/eee.pas
--- rubyscript2exe-0.1.13.tar.gz/rubyscript2exe/eee.pas 2004-04-28 22:24:04.000000000 +0200
+++ rubyscript2exe-0.1.14.tar.gz/rubyscript2exe/eee.pas 2004-05-02 23:56:22.000000000 +0200
@@ -2,7 +2,7 @@
uses
- Dos;
+ SysUtils, Dos;
type
@@ -27,16 +27,17 @@
outfile : file of byte;
eeefile : Text;
klasse : string[1];
- tekst : string[255];
+ tekst1 : string[255];
+ tekst2 : string;
s : string[255];
- c : string[255];
- p : string[255];
+ c : string;
+ p : string;
h : header;
t : tail;
teller : longint;
i : longint;
dir : string[255];
- parms : string[255];
+ parms : string;
justextract : boolean;
@@ -46,15 +47,19 @@
f : file;
sr : searchrec;
dir : string[255];
+ attr : word;
begin
getdir(0, dir);
chdir(path);
- findfirst(´*.*´, directory, sr);
+ findfirst(´*.*´, anyfile or directory, sr);
while(doserror = 0) do begin
- if (sr.attr and directory > 0) then begin
+ assign(f, sr.name); // Foutje in 1.9.2 ???
+ getfattr(f, attr); // Foutje in 1.9.2 ???
+
+ if (attr and directory > 0) then begin
if ((not (sr.name = ´.´)) and (not (sr.name = ´..´))) then begin
recursivedelete(sr.name);
end;
@@ -177,13 +182,13 @@
if (not (s = ´´) and not (copy(s, 1, 1) = ´#´)) then begin
klasse := copy(s, 1, 1);
- tekst := copy(s, 3, 255);
+ tekst1 := copy(s, 3, length(s)-2);
// writeln(h.klasse, ´ ´, h.tekst);
if (klasse = ´f´) then begin
h.klasse := klasse;
- h.tekst := tekst;
+ h.tekst := tekst1;
assign(infile, h.tekst);
reset(infile, 1);
@@ -195,7 +200,7 @@
if (klasse = ´c´) then begin
h.klasse := klasse;
- h.tekst := tekst;
+ h.tekst := tekst1;
h.length := 0;
blockwrite(outfile, h, sizeof(h));
@@ -203,7 +208,7 @@
if (klasse = ´t´) then begin
h.klasse := klasse;
- h.tekst := tekst;
+ h.tekst := tekst1;
h.length := 0;
blockwrite(outfile, h, sizeof(h));
@@ -252,24 +257,26 @@
for teller := 1 to t.number do begin
blockread(infile, h, sizeof(h));
+ tekst2 := h.tekst;
+
s := ´%tempdir%´;
- i := pos(s, h.tekst);
+ i := pos(s, tekst2);
while (i > 0) do begin
- h.tekst := copy(h.tekst, 1, i-1) + workdir + copy(h.tekst, i+length(s), 255);
- i := pos(s, h.tekst);
+ tekst2 := copy(tekst2, 1, i-1) + workdir + copy(tekst2, i+length(s), length(tekst2)-(i+length(s))+1);
+ i := pos(s, tekst2);
end;
s := ´%parms%´;
- i := pos(s, h.tekst);
+ i := pos(s, tekst2);
while (i > 0) do begin
- h.tekst := copy(h.tekst, 1, i-1) + parms + copy(h.tekst, i+length(s), 255);
- i := pos(s, h.tekst);
+ tekst2 := copy(tekst2, 1, i-1) + parms + copy(tekst2, i+length(s), length(tekst2)-(i+length(s))+1);
+ i := pos(s, tekst2);
end;
- // writeln(h.klasse, ´ ´, h.tekst);
+ // writeln(h.klasse, ´ ´, tekst2);
if (h.klasse = ´f´) then begin
- assign(outfile, workdir + ´\´ + h.tekst);
+ assign(outfile, workdir + ´\´ + tekst2);
rewrite(outfile, 1);
blockcopy(infile, outfile, h.length, true);
@@ -278,19 +285,19 @@
end;
if (h.klasse = ´c´) then begin
- i := pos(´ ´, h.tekst);
- c := copy(h.tekst, 1, i-1);
- p := copy(h.tekst, i+1, 255);
- exec(c, p);
+ i := pos(´ ´, tekst2);
+ c := copy(tekst2, 1, i-1);
+ p := copy(tekst2, i+1, length(tekst2)-i);
+ executeprocess(c, p);
end;
if (h.klasse = ´t´) then begin
getdir(0, dir);
chdir(workdir);
- i := pos(´ ´, h.tekst);
- c := copy(h.tekst, 1, i-1);
- p := copy(h.tekst, i+1, 255);
- exec(c, p);
+ i := pos(´ ´, tekst2);
+ c := copy(tekst2, 1, i-1);
+ p := copy(tekst2, i+1, length(tekst2)-i);
+ executeprocess(c, p);
chdir(dir);
end;
end;
Binary files rubyscript2exe-0.1.13.tar.gz/rubyscript2exe/eee.exe and rubyscript2exe-0.1.14.tar.gz/rubyscript2exe/eee.exe differ
Binary files rubyscript2exe-0.1.13.tar.gz/rubyscript2exe/eeew.exe and rubyscript2exe-0.1.14.tar.gz/rubyscript2exe/eeew.exe differ