static int load_constants(struct load_state *S, ktap_proto *f) { int i,n; n = READ_INT(S); f->sizek = n; f->k = NEW_VECTOR(S, n * sizeof(ktap_value)); for (i = 0; i < n; i++) setnilvalue(&f->k[i]); for (i=0; i < n; i++) { ktap_value *o = &f->k[i]; int t = READ_CHAR(S); switch (t) { case KTAP_TNIL: setnilvalue(o); break; case KTAP_TBOOLEAN: setbvalue(o, READ_CHAR(S)); break; case KTAP_TNUMBER: /* * todo: kernel not support fp, check double when * loading */ setnvalue(o, READ_NUMBER(S)); break; case KTAP_TSTRING: setsvalue(o, READ_STRING(S)); break; default: kp_error(S->ks, "ktap: load_constants: " "unknow ktap_value\n"); return -1; } } n = READ_INT(S); f->p = NEW_VECTOR(S, n * sizeof(ktap_proto)); f->sizep = n; for (i = 0; i < n; i++) f->p[i] = NULL; for (i = 0; i < n; i++) { f->p[i] = kp_newproto(S->ks); if (load_function(S, f->p[i])) return -1; } return 0; }
result_t Buffer::readInt64BE(int32_t offset, bool noAssert, int64_t &retVal) { READ_NUMBER(int64_t, false); }
result_t Buffer::readInt32LE(int32_t offset, bool noAssert, int32_t &retVal) { READ_NUMBER(int32_t, true); }
result_t Buffer::readUInt16BE(int32_t offset, bool noAssert, int32_t &retVal) { READ_NUMBER(uint16_t, false); }