Il problema non è il long che è corrotto ma un altra variabile dello stesso struct che viene assegnata in automatico e che mi da dei problemi se inizializzo a 0.

Il codice funziona perfettamente con i char visto che stampo il risultato per verificarne la correttezza.

Ok ora pubblico un estratto del codice per capire cosa succede