#include #include #include PlBool babel_ptrR(PlLong* p, PlLong* star_p, PlLong len) { if (star_p == NULL) return PL_FALSE; else { switch(len) { case 1: *p = *(char*)star_p; break; case 2: *p = *(short*)star_p; break; case 4: *p = *(int*)star_p; break; case 8: *p = *(long long*)star_p; break; default : printf("undefined exp length in babel_ptrR\n"); } } *p = 0x7fffffffffff&*p; return PL_TRUE; } PlBool babel_ptrE(PlLong* p, PlLong e, PlLong len) { if (p == NULL) return PL_FALSE; switch(len) { case 1: *(char*)p = (char)e; break; case 2: *(short*) p = (short)e; break; case 4: *(int*)p = (int)e; break; case 8: *(long long*)p = (long long)e; break; default : printf("undefined exp length in babel_ptrL\n"); } return PL_TRUE; } PlBool babel_c_0(int arg_0, int * babel_ret) { *babel_ret = foo1(arg_0); printf("%d\n", *babel_ret); return PL_TRUE; } PlBool babel_c_1(char* arg_0, int arg_1) { printf(arg_0, arg_1); return PL_TRUE; }