summaryrefslogtreecommitdiffstats
path: root/src/intel/common/gen_decoder.c
diff options
context:
space:
mode:
authorLionel Landwerlin <[email protected]>2017-08-02 22:32:25 +0100
committerLionel Landwerlin <[email protected]>2017-11-01 13:19:20 +0000
commitffa011d1e3e6f57ce8a546c6a5210b15bde582d1 (patch)
treea24f5e63c454809dbff9a70a15602501cac4fd15 /src/intel/common/gen_decoder.c
parent0698318d1a8f53d7df0fb51dddf34bb01b4fb868 (diff)
intel: decoder: move field name copy
This should be inside the function that actually decodes fields. Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Scott D Phillips <[email protected]>
Diffstat (limited to 'src/intel/common/gen_decoder.c')
-rw-r--r--src/intel/common/gen_decoder.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/intel/common/gen_decoder.c b/src/intel/common/gen_decoder.c
index bd3e139404c..4ef285667d8 100644
--- a/src/intel/common/gen_decoder.c
+++ b/src/intel/common/gen_decoder.c
@@ -823,7 +823,7 @@ iter_advance_field(struct gen_field_iterator *iter)
iter->field = iter->field->next;
if (iter->field->name)
- strncpy(iter->name, iter->field->name, sizeof(iter->name));
+ strncpy(iter->name, iter->field->name, sizeof(iter->name));
else
memset(iter->name, 0, sizeof(iter->name));
@@ -848,7 +848,12 @@ gen_field_iterator_next(struct gen_field_iterator *iter)
if (!iter_advance_field(iter))
return false;
- if ((iter->end - iter->start) > 32)
+ if (iter->field->name)
+ strncpy(iter->name, iter->field->name, sizeof(iter->name));
+ else
+ memset(iter->name, 0, sizeof(iter->name));
+
+ if ((iter->field->end - iter->field->start) > 32)
v.qw = ((uint64_t) iter->p[iter->dword+1] << 32) | iter->p[iter->dword];
else
v.qw = iter->p[iter->dword];