static int istruct_sput (unsigned char type, char *name) { SLang_IStruct_Field_Type *f; VOID_STAR addr; SLang_Class_Type *cl; if (NULL == (f = istruct_pop_field (name, 1, &addr))) return -1; type = f->type; cl = _SLclass_get_class (type); return (*cl->cl_pop) (type, addr); }
static int istruct_sget (SLtype type, SLFUTURE_CONST char *name) { SLang_IStruct_Field_Type *f; VOID_STAR addr; SLang_Class_Type *cl; if (NULL == (f = istruct_pop_field (name, 0, &addr))) return -1; type = f->type; cl = _pSLclass_get_class (type); return (cl->cl_push_intrinsic)(f->type, addr); }