diff --git a/ChangeLog b/ChangeLog index 72ab5f7c3..2e172351b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-09-02 David Ayers + + * Source/GSFFCallInvocation.m + * Source/GSFFIInvocation.m (gs_protocol_selector): Skip '-' for + negative offsets to avoid issues with pre gcc 3.4 generated + signatures. + 2004-08-26 Adam Fedor * Source/NSProcessInfo.m ([NSProcessInfo +load]): Get environment diff --git a/Source/GSFFCallInvocation.m b/Source/GSFFCallInvocation.m index 2a2e7a4d5..013a8890c 100644 --- a/Source/GSFFCallInvocation.m +++ b/Source/GSFFCallInvocation.m @@ -726,6 +726,10 @@ gs_protocol_selector(const char *types) } while (*types != '\0') { + if (*types == '-' ) + { + types++; + } if (*types == '+' || isdigit(*types)) { types = objc_skip_offset(types); diff --git a/Source/GSFFIInvocation.m b/Source/GSFFIInvocation.m index 664801c8a..d1c9b4b9d 100644 --- a/Source/GSFFIInvocation.m +++ b/Source/GSFFIInvocation.m @@ -375,6 +375,10 @@ gs_protocol_selector(const char *types) } while (*types != '\0') { + if (*types == '-') + { + types++; + } if (*types == '+' || isdigit(*types)) { types = objc_skip_offset(types);