longjmp() should return 1 if 0 is passed as return value (0 should only
be returned by setjmp)
Modified: trunk/reactos/lib/freetype/i386/setjmplongjmp.s
_____
Modified: trunk/reactos/lib/freetype/i386/setjmplongjmp.s
--- trunk/reactos/lib/freetype/i386/setjmplongjmp.s 2005-06-17
17:27:03 UTC (rev 16003)
+++ trunk/reactos/lib/freetype/i386/setjmplongjmp.s 2005-06-17
17:33:47 UTC (rev 16004)
@@ -75,6 +75,10 @@
movl JMPBUF(%esp), %ecx /* User's jmp_buf in %ecx. */
movl VAL(%esp), %eax /* Second argument is return value. */
+ testl %eax, %eax
+ jnz 0f
+ incl %eax
+0:
/* Save the return address now. */
movl (JB_PC*4)(%ecx), %edx
/* Restore registers. */
Show replies by date