void List_Append(List* self, void* data) { word address; assert(self != NULL && data != NULL); address = (word)data; Array_Write(&self->DataStore, (uint8*)&address, self->Count * sizeof(void*), sizeof(void*)); self->Count++; }
static int parseFieldList(ArgsCursor *ac, FieldList *fields, Array *fieldPtrs) { ArgsCursor fieldArgs = {0}; if (AC_GetVarArgs(ac, &fieldArgs) != AC_OK) { return -1; } while (!AC_IsAtEnd(&fieldArgs)) { const char *name = AC_GetStringNC(&fieldArgs, NULL); ReturnedField *fieldInfo = FieldList_GetCreateField(fields, name); size_t ix = (fieldInfo - fields->fields); Array_Write(fieldPtrs, &ix, sizeof(size_t)); } return 0; }
void Stack_Push(Stack* self, void* value) { Array_Write(&self->Data, (uint8*)&value, self->Pointer, sizeof(void*)); self->Pointer += sizeof(void*); }