Lines Matching refs:data

62 static type_tab_t type_table;  // symbol table for data types
131 %type <d> archive array arrayfields data expr message msgfield
204 $$.data = make_default($1);
211 $$.data = cast($1, $4);
218 $$.data = resize_data(make_default($1), $$.resize);
225 $$.data = resize_data(cast($1, $7), $$.resize);
445 | data { $$ = $1; }
448 data
688 resize_data(data_t data, size_t newSize)
692 } else if (data.size != newSize) {
696 memcpy(newBuffer, data.ptr, min(data.size, newSize));
698 if (data.type.code == B_STRING_TYPE)
701 free_mem(data.ptr);
702 data.ptr = newBuffer;
703 data.size = newSize;
706 return data;
716 data_t data = ((data_t*)list.items)[t];
717 msg->AddData(data.name, data.type.code, data.ptr, data.size, false);
718 free_mem(data.name);
719 free_mem(data.ptr);
814 size += type.fields[t].data.size;
821 data_t field_data = type.fields[t].data;
838 data_t data = ((data_t*)list.items)[t];
840 if (data.name == NULL) {
844 slots[k] = cast(type.fields[k].type, data);
856 if (strcmp(type.fields[k].name, data.name) == 0) {
860 slots[k] = cast(type.fields[k].type, data);
861 free_mem(data.name);
868 abort_compile(RDEF_COMPILE_ERR, "unknown field %s", data.name);
883 size += type.fields[k].data.size;
896 memcpy(ptr, type.fields[k].data.ptr, type.fields[k].data.size);
897 ptr += type.fields[k].data.size;
919 // items. Each of these items corresponds to a data field that the user
921 // So here we have to figure out which data item goes where. It is fairly
965 make_data_list(data_t data)
970 *((data_t*)out.items) = data;
976 concat_data_list(list_t list, data_t data)
983 memcpy((data_t*)out.items + list.count, &data, sizeof(data_t));
1005 cast_to_uint8(type_t new_type, data_t data)
1009 switch (data.type.code) {
1012 *((uint8*)out.ptr) = *(uint8*)data.ptr;
1017 *((uint8*)out.ptr) = (uint8)*(uint16*)data.ptr;
1025 *((uint8*)out.ptr) = (uint8)*(uint32*)data.ptr;
1031 *((uint8*)out.ptr) = (uint8)*(uint64*)data.ptr;
1038 free_mem(data.ptr);
1044 cast_to_uint16(type_t new_type, data_t data)
1048 switch (data.type.code) {
1051 *((uint16*)out.ptr) = (uint16)*(uint8*)data.ptr;
1056 *((uint16*)out.ptr) = *(uint16*)data.ptr;
1064 *((uint16*)out.ptr) = (uint16)*(uint32*)data.ptr;
1070 *((uint16*)out.ptr) = (uint16)*(uint64*)data.ptr;
1077 free_mem(data.ptr);
1083 cast_to_uint32(type_t new_type, data_t data)
1087 switch (data.type.code) {
1090 *((uint32*)out.ptr) = (uint32)*(uint8*)data.ptr;
1095 *((uint32*)out.ptr) = (uint32)*(uint16*)data.ptr;
1103 *((uint32*)out.ptr) = *(uint32*)data.ptr;
1109 *((uint32*)out.ptr) = (uint32)*(uint64*)data.ptr;
1116 free_mem(data.ptr);
1122 cast_to_uint64(type_t new_type, data_t data)
1126 switch (data.type.code) {
1129 *((uint64*)out.ptr) = (uint64)*(uint8*)data.ptr;
1134 *((uint64*)out.ptr) = (uint64)*(uint16*)data.ptr;
1142 *((uint64*)out.ptr) = (uint64)*(uint32*)data.ptr;
1148 *((uint64*)out.ptr) = *(uint64*)data.ptr;
1155 free_mem(data.ptr);
1161 cast_to_float(type_t new_type, data_t data)
1165 switch (data.type.code) {
1168 *((float*)out.ptr) = (float)*((uint8*)data.ptr);
1173 *((float*)out.ptr) = (float)*((uint16*)data.ptr);
1181 *((float*)out.ptr) = (float)*((uint32*)data.ptr);
1187 *((float*)out.ptr) = (float)*((uint64*)data.ptr);
1191 *((float*)out.ptr) = (float)*((double*)data.ptr);
1198 free_mem(data.ptr);
1204 cast_to_double(type_t new_type, data_t data)
1208 switch (data.type.code) {
1211 *((double*)out.ptr) = (double)*((uint8*)data.ptr);
1216 *((double*)out.ptr) = (double)*((uint16*)data.ptr);
1224 *((double*)out.ptr) = (double)*((uint32*)data.ptr);
1230 *((double*)out.ptr) = (double)*((uint64*)data.ptr);
1234 *((double*)out.ptr) = (double)*((float*)data.ptr);
1241 free_mem(data.ptr);
1247 cast(type_t newType, data_t data)
1249 if (same_type(newType, data.type)) {
1253 return data;
1260 return cast_to_uint8(newType, data);
1264 return cast_to_uint16(newType, data);
1271 return cast_to_uint32(newType, data);
1276 return cast_to_uint64(newType, data);
1279 return cast_to_float(newType, data);
1282 return cast_to_double(newType, data);
1286 data.type = newType;
1287 return data;
1292 return data;
1297 unary_expr(data_t data, char oper)
1299 data_t op = cast_to_uint32(get_type("int32"), data);
1368 add_resource(res_id_t id, type_code code, data_t data)
1371 id.id = data.type.def_id;
1374 id.name = (char*)data.type.def_name;
1379 status_t err = rsrc.AddResource(code, id.id, data.ptr, data.size, id.name);
1391 free_mem(data.ptr);
1402 fields[0].data = make_default(fields[0].type);
1406 fields[1].data = make_default(fields[1].type);
1427 fields[0].data = make_default(fields[0].type);
1431 fields[1].data = make_default(fields[1].type);
1435 fields[2].data = make_default(fields[2].type);
1439 fields[3].data = make_default(fields[3].type);
1460 fields[0].data = make_default(fields[0].type);
1464 fields[1].data = make_default(fields[1].type);
1468 fields[2].data = make_default(fields[2].type);
1472 fields[3].data = make_default(fields[3].type);
1474 *((uint8*)fields[3].data.ptr) = 255;
1495 fields[0].data = make_default(fields[0].type);
1516 fields[0].data = make_default(fields[0].type);
1537 fields[0].data = make_default(fields[0].type);
1558 fields[0].data = make_default(fields[0].type);
1562 fields[1].data = make_default(fields[1].type);
1566 fields[2].data = make_default(fields[2].type);
1570 fields[3].data = make_default(fields[3].type);
1574 fields[4].data = make_default(fields[4].type);
1578 fields[5].data = make_data(fields[5].resize, fields[5].type);
1582 fields[6].data = make_data(fields[6].resize, fields[6].type);
1584 memset(fields[5].data.ptr, '\0', fields[5].data.size);
1585 memset(fields[6].data.ptr, '\0', fields[6].data.size);
1606 fields[0].data = make_data(fields[0].resize, fields[0].type);
1627 fields[0].data = make_data(fields[0].resize, fields[0].type);
1648 fields[0].data = make_data(fields[0].resize, fields[0].type);
1669 fields[0].data = make_data(fields[0].resize, fields[0].type);
1690 fields[0].data = make_default(fields[0].type);
1792 free_mem((void*) type.fields[t].data.ptr);