Avevo trovato anche io la stessa cosa ho sostituito il tipo lon con fpos_t in più dava errore su altre righe poichè la variabile filesize compare altrove,in particolare nelle funzioni fread e memcpy mi compaiono questi 2 warning:

mserv.c: In function 'readintmp':
mserv.c:2326: warning: passing argument 2 of 'fread' makes integer from pointer without a cast
mserv.c:2328: warning: passing argument 3 of 'memcpy' makes integer from pointer without a cast

Credo il tuo suggerimento sia giusto bisogna vedere queste due funzioni che tipo vogliono...