diff options
Diffstat (limited to 'Build/source/libs/pplib/pplib-src/src/pparray.c')
-rw-r--r-- | Build/source/libs/pplib/pplib-src/src/pparray.c | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/Build/source/libs/pplib/pplib-src/src/pparray.c b/Build/source/libs/pplib/pplib-src/src/pparray.c new file mode 100644 index 00000000000..944596bdc1f --- /dev/null +++ b/Build/source/libs/pplib/pplib-src/src/pparray.c @@ -0,0 +1,145 @@ + +#include "pplib.h" + +pparray * pparray_create (const ppobj *stackpos, size_t size, ppheap *heap) +{ + pparray *array; + array = (pparray *)ppstruct_take(heap, sizeof(pparray)); + array->data = (ppobj *)ppstruct_take(heap, size * sizeof(ppobj)); // separate chunk, alignment requirements warning otherwise + array->size = size; + memcpy(array->data, stackpos, size * sizeof(ppobj)); + return array; +} + +ppobj * pparray_get_obj (pparray *array, size_t index) +{ + return pparray_get(array, index); +} + +ppobj * pparray_rget_obj (pparray *array, size_t index) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_rget_obj(obj) : NULL; +} + +int pparray_get_bool (pparray *array, size_t index, int *v) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_get_bool(obj, *v) : 0; +} + +int pparray_rget_bool (pparray *array, size_t index, int *v) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_rget_bool(obj, *v) : 0; +} + +int pparray_get_int (pparray *array, size_t index, ppint *v) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_get_int(obj, *v) : 0; +} + +int pparray_rget_int (pparray *array, size_t index, ppint *v) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_rget_int(obj, *v) : 0; +} + +int pparray_get_uint (pparray *array, size_t index, ppuint *v) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_get_uint(obj, *v) : 0; +} + +int pparray_rget_uint (pparray *array, size_t index, ppuint *v) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_rget_uint(obj, *v) : 0; +} + +int pparray_get_num (pparray *array, size_t index, ppnum *v) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_get_num(obj, *v) : 0; +} + +int pparray_rget_num (pparray *array, size_t index, ppnum *v) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_rget_num(obj, *v) : 0; +} + +ppname * pparray_get_name (pparray *array, size_t index) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_get_name(obj) : NULL; +} + +ppname * pparray_rget_name (pparray *array, size_t index) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_rget_name(obj) : NULL; +} + +ppstring * pparray_get_string (pparray *array, size_t index) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_get_string(obj) : NULL; +} + +ppstring * pparray_rget_string (pparray *array, size_t index) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_rget_string(obj) : NULL; +} + +pparray * pparray_get_array (pparray *array, size_t index) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_get_array(obj) : NULL; +} + +pparray * pparray_rget_array (pparray *array, size_t index) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_rget_array(obj) : NULL; +} + +ppdict * pparray_get_dict (pparray *array, size_t index) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_get_dict(obj) : NULL; +} + +ppdict * pparray_rget_dict (pparray *array, size_t index) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_rget_dict(obj) : NULL; +} + +/* +ppstream * pparray_get_stream (pparray *array, size_t index) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_get_stream(obj) : NULL; +} +*/ + +ppstream * pparray_rget_stream (pparray *array, size_t index) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_rget_stream(obj) : NULL; +} + +ppref * pparray_get_ref (pparray *array, size_t index) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_get_ref(obj) : NULL; +} + +ppref * pparray_rget_ref (pparray *array, size_t index) +{ + ppobj *obj; + return (obj = pparray_get(array, index)) != NULL ? ppobj_rget_ref(obj) : NULL; +} |