pdfio/pdfio-array.c

244 lines
2.9 KiB
C
Raw Normal View History

2021-04-17 02:41:46 +02:00
//
// PDF array functions for pdfio.
//
// Copyright © 2021 by Michael R Sweet.
//
// Licensed under Apache License v2.0. See the file "LICENSE" for more
// information.
//
//
// Include necessary headers...
//
#include "pdfio-private.h"
//
// Array structure
2021-04-17 02:41:46 +02:00
//
struct _pdfio_array_s
2021-04-17 02:41:46 +02:00
{
size_t num_values, // Number of values in use
alloc_values; // Number of allocated values
_pdfio_value_t *values; // Array of values
};
//
// Local functions...
//
static bool append_value(pdfio_array_t *a, _pdfio_value_t *v);
//
// 'pdfioArrayAppendArray()' - Add an array value to an array.
//
bool // O - `true` on success, `false` on failure
pdfioArrayAppendArray(
pdfio_array_t *a, // I - Array
pdfio_array_t *value) // I - Value
{
_pdfio_value_t v; // Value for array
v.type = PDFIO_VALTYPE_ARRAY;
v.value.array = value;
return (append_value(a, &v));
2021-04-17 02:41:46 +02:00
}
//
// '()' - .
//
bool pdfioArrayAppendBoolean(pdfio_array_t *a, boolean value)
{
}
//
// '()' - .
//
bool pdfioArrayAppendDict(pdfio_array_t *a, pdfio_dict_t *value)
{
}
//
// '()' - .
//
bool pdfioArrayAppendName(pdfio_array_t *a, const char *value)
{
}
//
// '()' - .
//
bool pdfioArrayAppendNumber(pdfio_array_t *a, float value)
{
}
//
// '()' - .
//
bool pdfioArrayAppendObject(pdfio_array_t *a, pdfio_obj_t *value)
{
}
//
// '()' - .
//
bool pdfioArrayAppendString(pdfio_array_t *a, const char *value)
{
}
//
// '()' - .
//
pdfio_array_t *pdfioArrayCreate(pdfio_file_t *file)
{
}
2021-04-17 03:09:43 +02:00
//
// '()' - .
//
void _pdfioArrayDelete(pdfio_array_t *a)
{
}
2021-04-17 02:41:46 +02:00
//
// '()' - .
//
pdfio_array_t *pdfioArrayGetArray(pdfio_array_t *a, int n)
{
}
//
// '()' - .
//
bool pdfioArrayGetBoolean(pdfio_array_t *a, int n)
{
}
//
// '()' - .
//
pdfio_dict_t *pdfioArrayGetDict(pdfio_array_t *a, int n)
{
}
//
// '()' - .
//
const char *pdfioArrayGetName(pdfio_array_t *a, int n)
{
}
//
// '()' - .
//
float pdfioArrayGetNumber(pdfio_array_t *a, int n)
{
}
//
// '()' - .
//
pdfio_obj_t *pdfioArrayGetObject(pdfio_array_t *a, int n)
{
}
//
// '()' - .
//
int pdfioArrayGetSize(pdfio_array_t *a)
{
}
//
// '()' - .
//
const char *pdfioArrayGetString(pdfio_array_t *a, int n)
{
}
//
// '()' - .
//
pdfio_valtype_t pdfioArrayGetType(pdfio_array_t *a, int n)
{
}
//
// '()' - .
//
_pdfio_value_t *
_pdfioArrayGetValue(pdfio_array_t *a, int n)
{
}
//
// 'append_value()' - Append a value.
//
static bool // O - `true` on success, `false` otherwise
append_value(pdfio_array_t *a, // I - Array
_pdfio_value_t *v) // I - Value
{
if (!a)
return (false);
if (a->num_values >= a->alloc_values)
{
_pdfio_value_t *temp = (_pdfio_value_t *)realloc(a->values, (a->alloc_values + 16) * sizeof(_pdfio_value_t));
if (!temp)
return (false);
a->values = temp;
a->alloc_values += 16;
}
a->values[a->num_values ++] = *v;
return (true);
}