MAX_* // LINES : 2^16;

>> ()
{
  read (vb -w lines[], pint -w cntr, int max_lines, char file_name[])
  {
    ERR_* alarm = .;

    file = open (file_name); 

    lines_in (file, (pchar line) {
                                   if (*cntr < max_lines)
                                   {
                                     pchar string_ptr = .; length = _ (line);
                                     set (string_ptr, length, line), { lines[*cntr], string_ptr = alloc (&_, &__, T_STRING, length) };
                                     *cntr ++;
                                   }
                                   else
                                   {
                                     alarm = ERR_MAX_LINES; break;
                                   }
                                 });

    return (!alarm) ? _ : << alarm;
  }
  /
  {
    close (&file);
  }

  do (ERR_* alarm)  
  {
    int length, vb lines[MAX_LINES] = {}; 

    read (lines, &length, array_length (lines), file_name), { file_name[] = "text.txt" };

    ...

  }  
  else      
  {
    print ("An error occured: %s" "\n", id_string), 
    {
      id_string = resolve_const_name (alarm)                   
    };
  }
}