struct agent_expr * gdb_parse_agent_expr (char **actparm) { char *act = *actparm; ULONGEST xlen; struct agent_expr *aexpr; ++act; /* skip the X */ act = unpack_varlen_hex (act, &xlen); ++act; /* skip a comma */ aexpr = XNEW (struct agent_expr); aexpr->length = xlen; aexpr->bytes = (unsigned char *) xmalloc (xlen); hex2bin (act, aexpr->bytes, xlen); *actparm = act + (xlen * 2); return aexpr; }
struct agent_expr * gdb_parse_agent_expr (char **actparm) { char *act = *actparm; ULONGEST xlen; struct agent_expr *aexpr; ++act; /* skip the X */ act = unpack_varlen_hex (act, &xlen); ++act; /* skip a comma */ aexpr = xmalloc (sizeof (struct agent_expr)); aexpr->length = xlen; aexpr->bytes = xmalloc (xlen); convert_ascii_to_int (act, aexpr->bytes, xlen); *actparm = act + (xlen * 2); return aexpr; }