Beispiel #1
0
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;
}
Beispiel #3
0
void Stack_Push(Stack* self, void* value) {
	Array_Write(&self->Data, (uint8*)&value, self->Pointer, sizeof(void*));
	self->Pointer += sizeof(void*);
}