[RoLUG] GSleep 1.1 is out [Was better for him to stay in for a while]

Dario Rigolin drigolin@iol.it
Mer 17 Set 2003 14:17:19 CEST


On Tuesday 16 September 2003 21:11, Eduard Roccatello wrote:
> www.roccatello.it/eduard/gsleep1.1.tar.gz
>
> eeee :)

Credo d'aver trovato un BUG nel tuo gsleep oppure la mia inplementazione del 
fgets ha un baco.

Se leggi dal tuo file .gsleep il device almeno ricordati di elimare il fine 
riga che la fgets tende ad aggiungere sempre. Stranamente da me è presente 
sia che venga dato un crlf esplicito nel .gsleep (Ad esempio se in futuro il 
tuo file avrà altri dati di configurazione) sia nel caso esso non sia 
presente. Ricevo sempre l'errore: 

GSleep CDPlayer
by Eduard Roccatello
Email: <master@spine-group.org>

Using device: /dev/cdrom

Letto device [/dev/cdrom
]
Letto device2 [/dev/cdrom]
checkStatus [/dev/cdrom
]
StatusDevice A: No such file or directory
CdromHeader: Bad file descriptor
checkStatus [/dev/cdrom
]
StatusDevice A: No such file or directory
CdromHeader: Bad file descriptor
checkStatus [/dev/cdrom
]
StatusDevice A: No such file or directory
CdromHeader: Bad file descriptor
checkStatus [/dev/cdrom
]


Ho aggiunto un po' di printf per mostrarti la cosa. E chiaramente l'array di 
char device contiene un \n alla fine.

kdbg conferma la cosa (evito gli screenshots).

Vorrei sapere quanti con RedHat 9 sono riusciti a farlo girare: cioè ascoltare 
dei CD, perchè per partire parte...

Dal manuale della fgets risulta chiaro che \n è aggiunto se presente, nel 
nostro caso dovrebbe essere invece ritornato un EOF o presumo niente come si 
aspettava Eduard. Il fatto che da altri non abbiano manifestato questa 
anomalia mi fa pensare che forse è un bug di glibc.

Se posso dare qualche consiglio:

1) Togli sempre da fgets i fine riga alla fine
2) Sarebbe meglio dire all'utente che non riesci ad aprire il CD-ROM. Se uno 
lo lancia da X non è in grado di capire dove sta il problema.
3) Se uno cambia l'unità CD-ROM perchè deve riavviare?
4) Perchè gsleep?
5) Qualche commento in più...
6) La tua indentazione è per me poco leggibile.
7) Cosa serve la variabile device2?

Ciao!

-- 
Dario Rigolin
Mobile: +39 347 7232652


Maggiori informazioni sulla lista RoLUG