From 3ab6c437cc77e42ae3fdd3817a483d05eeef97bd Mon Sep 17 00:00:00 2001 From: Gregor Anich Date: Fri, 17 Jun 2005 17:33:47 +0000 Subject: [PATCH] longjmp() should return 1 if 0 is passed as return value (0 should only be returned by setjmp) svn path=/trunk/; revision=16004 --- reactos/lib/freetype/i386/setjmplongjmp.s | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/reactos/lib/freetype/i386/setjmplongjmp.s b/reactos/lib/freetype/i386/setjmplongjmp.s index fa4688c0273..d0e13a5b064 100644 --- a/reactos/lib/freetype/i386/setjmplongjmp.s +++ b/reactos/lib/freetype/i386/setjmplongjmp.s @@ -75,6 +75,10 @@ _longjmp: 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. */