Thanks to Thomas Koenig!
This bug was really ugly, I am ashamed...
int arp_get_info(char *buffer, char **start, off_t offset, int length, int dummy)
{
..........
len += size;
pos += size;
if (pos <= offset)
len=0;
if (pos >= offset+length)
#ifdef NO_ANK_FIX
break;
#else
goto done;
#endif
}
}
#ifndef NO_ANK_FIX
done:
#endif
arp_unlock();
.............
}
Alexey Kuznetsov.