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)