[Crosstoolchain-logs] [device-tree-compiler] 37/58: dtc: Simplify asm_emit_string() implementation
Vagrant Cascadian
vagrant at moszumanska.debian.org
Mon Sep 25 16:23:48 UTC 2017
This is an automated email from the git hooks/post-receive script.
vagrant pushed a commit to branch debian/master
in repository device-tree-compiler.
commit 9ffdf60bf463b7451e0fc8f9c8ec07c14dbd077c
Author: Nicolas Iooss <nicolas.iooss_linux at m4x.org>
Date: Sat Mar 4 14:26:43 2017 +0100
dtc: Simplify asm_emit_string() implementation
Using %.*s format helps making asm_emit_string() not modify its "str"
parameter.
While at it, constify the "str" parameter of bin_emit_string() and
asm_emit_string(), as these function no longer modify it.
Signed-off-by: Nicolas Iooss <nicolas.iooss_linux at m4x.org>
Signed-off-by: David Gibson <david at gibson.dropbear.id.au>
---
flattree.c | 22 +++++++---------------
1 file changed, 7 insertions(+), 15 deletions(-)
diff --git a/flattree.c b/flattree.c
index 5de5fee..fcf7154 100644
--- a/flattree.c
+++ b/flattree.c
@@ -49,7 +49,7 @@ static struct version_info {
struct emitter {
void (*cell)(void *, cell_t);
- void (*string)(void *, char *, int);
+ void (*string)(void *, const char *, int);
void (*align)(void *, int);
void (*data)(void *, struct data);
void (*beginnode)(void *, struct label *labels);
@@ -64,7 +64,7 @@ static void bin_emit_cell(void *e, cell_t val)
*dtbuf = data_append_cell(*dtbuf, val);
}
-static void bin_emit_string(void *e, char *str, int len)
+static void bin_emit_string(void *e, const char *str, int len)
{
struct data *dtbuf = e;
@@ -144,22 +144,14 @@ static void asm_emit_cell(void *e, cell_t val)
(val >> 8) & 0xff, val & 0xff);
}
-static void asm_emit_string(void *e, char *str, int len)
+static void asm_emit_string(void *e, const char *str, int len)
{
FILE *f = e;
- char c = 0;
- if (len != 0) {
- /* XXX: ewww */
- c = str[len];
- str[len] = '\0';
- }
-
- fprintf(f, "\t.string\t\"%s\"\n", str);
-
- if (len != 0) {
- str[len] = c;
- }
+ if (len != 0)
+ fprintf(f, "\t.string\t\"%.*s\"\n", len, str);
+ else
+ fprintf(f, "\t.string\t\"%s\"\n", str);
}
static void asm_emit_align(void *e, int a)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/crosstoolchain/device-tree-compiler.git
More information about the Crosstoolchain-logs
mailing list