Hi, On Mon, Jul 28, 2003 at 09:27:31AM +0200, Thomas Soumarmon wrote: > Just a few questions :
> * may the backend be called after a sane_exit() ? Yes, but only sane_init () again. After that, normal operation can start again. > * is this needed for "const" global variables ? I don't think so. If they are not changed, there is no problem. > * could you explain me what the problem is with global initialization ? e.g. int * some_buffer = 0; sane_init () { attach (); } attach () { if (!some_buffer) some_buffer = malloc (...); } sane_exit () { if (some_buffer) free (some_buffer); } This works once but the second time malloc won't be called. --> crash. Freeing already freed buffers also can happen if you don't explicitely set them to 0 in sane_init or sane_exit. Another example: SANE_Bool first_scan = SANE_TRUE; sane_start () { if (first_scan) { first_scan = SANE_FALSE; turn_lamp_on(); wait_for_30_seconds_for_lamp_warmup (); } } sane_exit () { turn_lamp_off (); } -> after the first sane_exit/sane_init the lamp is not warmed up. > > * desc files: > > - Change all description files to use the new status keyword: > > avision, canon, canon630u, coolscan2, fujitsu, > > hp, hp5400, hpsj5s, microtek, microtek2, > > plustek, sharp, st400, umax1220u. > > > done for hp5400. There are still some ":status :alpha" lines in your .desc file :-) Run "make" ind doc/ and grep the warnings for "hp5400". Bye, Henning