Hi, Mihael:

I think you also need to change this prototype so it looks like this:

bool
prop_object_equals_with_error(prop_object_t obj1_128, prop_object_t obj2_128,
bool __ptr128 *error_flag)

Or define a typedef for "bool128p" such as:

typedef void * __ptr128 bool128p;

and then change the prototype to look like:

bool
prop_object_equals_with_error(prop_object_t obj1_128, prop_object_t obj2_128,
bool128p *error_flag)

You could also use #pragma statements to turn on and turn off 128-bit pointers as the default, so for example, you could have 128-bit pointers as the default for all of the external function declarations, and then have another #pragma to switch to 64-bit pointers for all local varialbes internal to the routines.

Mark

> On 6/5/2010 2:10 AM, Schmidt, Mihael wrote:
Thanx. Yes that helped a lot. Though I don't want mess that much with the source.

After some tries it actually worked even in an RPG program. Great.

Though after I changed some other code to __ptr128 I got the following error:

prop_object.c, 1106.46: CZM0280(30) Function argument assignment between
types "void* __ptr128* __ptr64" and "void* __ptr64* __ptr64" is not
allowed.

typedef void * __ptr128 prop_object_t;

bool
prop_object_equals_with_error(prop_object_t obj1_128, prop_object_t obj2_128,
bool *error_flag)
{
void * obj1, obj2;
obj1 = obj1_128;
obj2 = obj2_128;
...


line 1106: if (!_prop_stack_pop(&stack,&obj1,&obj2,
&stored_pointer1,&stored_pointer2))



bool _prop_stack_pop(prop_stack_t, prop_object_t *, void ** , void **, void **);


My guess is that it is the third parameter on the call to pop() put I don't know enough about C to know why this happened and how it can be fixed. My understanding is that obj1 and obj2 are 64 bit pointers. So why the error message with 128 bit pointer?

Thanx in advance

Mihael


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.