mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-29 15:41:59 +00:00
6df79b2b06
Attempting to add ev_ushort caused ptraliasenc to break, but that was because it was already broken: I had implemented the scan of the xdef table incorrectly, thus adding only 1 ev type resulted in the walked pointer being out of phase with its data due to it first passing over the type encodings (which is why adding long and ulong didn't cause any obvious trouble).
31 lines
684 B
R
31 lines
684 B
R
#include <types.h>
|
|
|
|
#include "test-harness.h"
|
|
|
|
typedef int int32_t;
|
|
int32_t *int32_ptr;
|
|
|
|
typedef struct xdef_s {
|
|
qfot_type_t *type; ///< pointer to type definition
|
|
void *ofs; ///< 32-bit version of ddef_t.ofs
|
|
} xdef_t;
|
|
|
|
typedef struct xdefs_s {
|
|
xdef_t *xdefs;
|
|
unsigned num_xdefs;
|
|
} xdefs_t;
|
|
|
|
void *PR_FindGlobal (string name) = #0;
|
|
|
|
int
|
|
main (void)
|
|
{
|
|
//FIXME need a simple way to get at a def's meta-data
|
|
xdefs_t *xdefs = PR_FindGlobal (".xdefs");
|
|
xdef_t *xdef = xdefs.xdefs;
|
|
while (xdef - xdefs.xdefs < xdefs.num_xdefs && xdef.ofs != &int32_ptr) {
|
|
xdef++;
|
|
}
|
|
printf ("int32_ptr: %s\n", xdef.type.encoding);
|
|
return xdef.type.encoding != "{>^i}";
|
|
}
|