On Tue, Sep 18, 2007 at 09:23:37AM +0100, Robert Shearman wrote:
Dan Hipschman wrote:
var_t *field, } else if (is_ptr(type)) {
print_file(file, 2, "0x8,\t/* FC_LONG */\n");
unsigned char fc = (cont->type == RPC_FC_BOGUS_STRUCT
? RPC_FC_POINTER
: RPC_FC_LONG);
} else if (!write_base_type(file, type, tfsoff))print_file(file, 2, "0x%x,\t/* %s */\n", fc, string_of_type(fc)); *tfsoff += 1;
I sent a patch yesterday which does a similar thing to this chunk. I think we need to agree on which approach we're going to take so we can let Alexandre know which patch to commit.
Sorry, I missed your last three patches somehow. My patch not only uses RPC_FC_POINTER instead of RPC_FC_LONG here, but it also implements the pointer description section for complex structures. I actually left these as RPC_FC_LONG on purpose, until the pointer description part was finished. Isn't using RPC_FC_POINTER with a pointer description offset of zero just going to crash? It's not really any more correct in that case. There are no tests, so I'm not sure what it would do.