[kaffe] kaffeh leaves incomplete output files

Takahiko_Kawasaki at cii.csk.co.jp Takahiko_Kawasaki at cii.csk.co.jp
Sun Jul 28 21:14:59 PDT 2002

The last item of the known-bugs says:

     kaffeh leaves incomplete output files
     around if it bails (fails?) because
     it cannot find the class file.

It seems that this is caused by inappropriate exit()'s
called in the function 'kaffeh_findClass()' in the file

If below modifications are applied, the bug may be fixed.

     1. change kaffeh_findClass()'s prototype so that
        it can return its status.

     2. change all the 'return;'s in kaffeh_findClass()
        into 'return 0;' to indicate it has succeeded.

     3. change all the 'exit()'s in kaffeh_findClass()
        into 'return -1;' to indicate it has failed.

     4. treat the return value of kaffeh_findClass()
        appropriately in 'main()' in the file
        'kaffe/kaffeh/main.c'.  For example, in case
        kaffeh_findClass() returns failure status,
        remove the corresponding output file, or
        insert '#error ......' line before closing
        the file.

As far as I have looked into source codes, kaffeh_findClass()
is called from only main() in kaffe/kaffeh/main.c and
setupClass() in kaffe/kaffeh/support.c.  However, setupClass()
in kaffe/kaffeh/support.c is not called from anywhere (there
is a similar function in kaffe/kaffevm/classMethod.c). So,
I think modifications above can be simply applied.


More information about the kaffe mailing list