On 2017 Dec 18 20:05:50, you wrote to All:
if (pos('.zip',fn)<>0) then fpsystem('unzip -L -o '+fn+' file_id.diz -d '+general.temppath+cstr(node)+'/ARC/ >/dev/null')
else if (pos('.lzh',fn)<>0) then fpsystem('lha e f '+fn+' file_id.diz '+general.temppath+cstr(node)+'/ARC/ >/dev/null')
else if (pos('.arj',fn)<>0) then fpsystem('arj e f '+fn+' file_id.diz '+general.temppath+cstr(node)+'/ARC/ >/dev/null')
else if (pos('.rar',fn)<>0) then fpsystem('unrar x -cl '+fn+' file_id.diz '+general.temppath+cstr(node)+'/ARC/ >/dev/null');
these extrtact the file_id.diz file... the whole file... there's no way to extract only part of it...
if (exist('/home/rg/TEMP' + cstr(node) + '/ARC/file_id.diz'))
then
assign(T,'/home/rg/TEMP' +cstr(node) + '/ARC/file_id.diz');
reset(T);
if (IOResult <> 0) then exit;
star('Importing description.');
Index := 1;
erase(T);
end;
nothing here does anything with the file except where you assign it, reset it, and then erase it... you don't ever read it... you don't even have a begin and end inside the "if" statement...
The problem is that it only extracts the first line of the file_id.diz. Anyone have any ideas?
nope, sorry...
but i do have a question... why are you using general.temppath+cstr(node) in the extraction lines but you have hardcoded /home/rg/TEMP+cstr(node) in the importing part? if i had to guess, general.temppath contains /home/rg/TEMP...
but that brings up something else... why keep calling cstr over and over and over... build your string one time and use it over and over... the code will be
much more efficient...
eg: mytempARCpath:=general.temppath+cstr(node)+'/ARC/';
if (pos('.zip',fn)<>0) then fpsystem('unzip -L -o '+fn+' file_id.diz -d
'+mytempARCpath+' >/dev/null')
else if (pos('.lzh',fn)<>0) then fpsystem('lha e f '+fn+' file_id.diz
'+mytempARCpath+' >/dev/null')
else if (pos('.arj',fn)<>0) then fpsystem('arj e f '+fn+' file_id.diz
'+mytempARCpath+' >/dev/null')
else if (pos('.rar',fn)<>0) then fpsystem('unrar x -cl '+fn+' file_id.diz '+mytempARCpath+' >/dev/null');
if (exist(mytempARCpath + 'file_id.diz')) then
BEGIN <-- missing in original code
assign(T,mytempARCpath + 'file_id.diz');
reset(T);
if (IOResult <> 0) then exit;
star('Importing description.');
Index := 1;
erase(T);
END; <-- missing in original code
end;
)\/(ark
Always Mount a Scratch Monkey
Do you manage your own servers? If you are not running an IDS/IPS yer doin' it wrong...
... It's good to be children sometimes and never better than at Christmas.
---
* Origin: (1:3634/12.73)