aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data.c2
-rw-r--r--dtc.h1
-rw-r--r--treesource.c9
3 files changed, 8 insertions, 4 deletions
diff --git a/data.c b/data.c
index accdfae..4a20414 100644
--- a/data.c
+++ b/data.c
@@ -95,7 +95,7 @@ struct data data_copy_file(FILE *f, size_t maxlen)
{
struct data d = empty_data;
- d = data_add_marker(d, TYPE_BLOB, NULL);
+ d = data_add_marker(d, TYPE_NONE, NULL);
while (!feof(f) && (d.len < maxlen)) {
size_t chunksize, ret;
diff --git a/dtc.h b/dtc.h
index 303c2a6..51c03ef 100644
--- a/dtc.h
+++ b/dtc.h
@@ -82,7 +82,6 @@ enum markertype {
TYPE_UINT16,
TYPE_UINT32,
TYPE_UINT64,
- TYPE_BLOB,
TYPE_STRING,
};
extern const char *markername(enum markertype markertype);
diff --git a/treesource.c b/treesource.c
index f99544d..53e6203 100644
--- a/treesource.c
+++ b/treesource.c
@@ -133,9 +133,14 @@ static void write_propval_int(FILE *f, const char *p, size_t len, size_t width)
}
}
+static bool has_data_type_information(struct marker *m)
+{
+ return m->type >= TYPE_UINT8;
+}
+
static struct marker *next_type_marker(struct marker *m)
{
- while (m && (m->type == LABEL || m->type == REF_PHANDLE || m->type == REF_PATH))
+ while (m && !has_data_type_information(m))
m = m->next;
return m;
}
@@ -225,7 +230,7 @@ static void write_propval(FILE *f, struct property *prop)
size_t chunk_len;
const char *p = &prop->val.val[m->offset];
- if (m->type < TYPE_UINT8)
+ if (!has_data_type_information(m))
continue;
chunk_len = type_marker_length(m);