[pulseaudio-discuss] [PATCH RFC 02/17] tagstruct: Replace dynamic flag with type
Peter Meerwald
pmeerw at pmeerw.net
Fri Oct 24 14:21:26 PDT 2014
From: Peter Meerwald <p.meerwald at bct-electronic.com>
... in order to prepare for a new type _APPENDED
remove the assert() for dynamic in pa_tagstruct_data() as
the function makes sense for all tagstruct types (and the returned pointer
is const)
Signed-off-by: Peter Meerwald <pmeerw at pmeerw.net>
---
src/pulsecore/tagstruct.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/pulsecore/tagstruct.c b/src/pulsecore/tagstruct.c
index c74a9ab..f737291 100644
--- a/src/pulsecore/tagstruct.c
+++ b/src/pulsecore/tagstruct.c
@@ -47,7 +47,10 @@ struct pa_tagstruct {
size_t length, allocated;
size_t rindex;
- bool dynamic;
+ enum {
+ PA_TAGSTRUCT_FIXED,
+ PA_TAGSTRUCT_DYNAMIC,
+ } type;
};
pa_tagstruct *pa_tagstruct_new(void) {
@@ -57,7 +60,7 @@ pa_tagstruct *pa_tagstruct_new(void) {
t->data = NULL;
t->allocated = t->length = 0;
t->rindex = 0;
- t->dynamic = true;
+ t->type = PA_TAGSTRUCT_DYNAMIC;
return t;
}
@@ -71,7 +74,7 @@ pa_tagstruct *pa_tagstruct_new_fixed(const uint8_t* data, size_t length) {
t->data = (uint8_t*) data;
t->allocated = t->length = length;
t->rindex = 0;
- t->dynamic = false;
+ t->type = PA_TAGSTRUCT_FIXED;
return t;
}
@@ -79,7 +82,7 @@ pa_tagstruct *pa_tagstruct_new_fixed(const uint8_t* data, size_t length) {
void pa_tagstruct_free(pa_tagstruct*t) {
pa_assert(t);
- if (t->dynamic)
+ if (t->type == PA_TAGSTRUCT_DYNAMIC)
pa_xfree(t->data);
pa_xfree(t);
}
@@ -88,7 +91,7 @@ uint8_t* pa_tagstruct_free_data(pa_tagstruct*t, size_t *l) {
uint8_t *p;
pa_assert(t);
- pa_assert(t->dynamic);
+ pa_assert(t->type == PA_TAGSTRUCT_DYNAMIC);
pa_assert(l);
p = t->data;
@@ -99,7 +102,7 @@ uint8_t* pa_tagstruct_free_data(pa_tagstruct*t, size_t *l) {
static void extend(pa_tagstruct*t, size_t l) {
pa_assert(t);
- pa_assert(t->dynamic);
+ pa_assert(t->type != PA_TAGSTRUCT_FIXED);
if (t->length+l <= t->allocated)
return;
@@ -434,7 +437,6 @@ int pa_tagstruct_eof(pa_tagstruct*t) {
const uint8_t* pa_tagstruct_data(pa_tagstruct*t, size_t *l) {
pa_assert(t);
- pa_assert(t->dynamic);
pa_assert(l);
*l = t->length;
--
1.9.1
More information about the pulseaudio-discuss
mailing list