PATH==NULL???? Praticamente non succederà mai, visto che PATH viene sostituito dal preprocessore con la stringa laurea.
Un file vuoto è un file di dimensione zero, quindi basta controllarne la dimensione.
Devi includere sys/stat.h.codice:struct stat st; stat(filename, &st); size = st.st_size;