fix incorrect swap of source/dest var in decode list
This commit is contained in:
parent
c582108917
commit
e1013e038b
4 changed files with 12 additions and 12 deletions
|
|
@ -1033,7 +1033,7 @@ static void gen_call_list_decoder(capnp_ctx_t *ctx, struct str *func,
|
||||||
char *dtypename = n->name.str;
|
char *dtypename = n->name.str;
|
||||||
|
|
||||||
str_addf(func, "decode_%s_list(&(d->%s), &(d->%s), s->%s);\n", dtypename,
|
str_addf(func, "decode_%s_list(&(d->%s), &(d->%s), s->%s);\n", dtypename,
|
||||||
countvar, var2, var);
|
countvar, var, var2);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -1192,7 +1192,7 @@ static void decode_member(capnp_ctx_t *ctx, struct str *func, struct field *f,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gen_call_list_decoder(ctx, func, &list_type, tab, var, buf, var2);
|
gen_call_list_decoder(ctx, func, &list_type, tab, var2, buf, var);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -18,9 +18,9 @@ struct Publish $C.mapname("publish_t") {
|
||||||
struct Book $C.mapname("book_t") {
|
struct Book $C.mapname("book_t") {
|
||||||
title @0: Text;
|
title @0: Text;
|
||||||
authors @1: List(Text) $C.mapname("authors") $C.maplistcount("n_authors");
|
authors @1: List(Text) $C.mapname("authors") $C.maplistcount("n_authors");
|
||||||
chapters @5: List(Chapter) $C.maplistcount("n_chapters");
|
chapters @5: List(Chapter) $C.mapname("chapters_") $C.maplistcount("n_chapters");
|
||||||
publish @6: Publish;
|
publish @6: Publish;
|
||||||
magic1 @2: List(UInt32) $C.maplistcount("n_magic1");
|
magic1 @2: List(UInt32) $C.mapname("magic_1") $C.maplistcount("n_magic1");
|
||||||
acquire :union $C.mapuniontag("acquire_method") {
|
acquire :union $C.mapuniontag("acquire_method") {
|
||||||
buy @3: Text;
|
buy @3: Text;
|
||||||
donation @4: Text;
|
donation @4: Text;
|
||||||
|
|
|
||||||
|
|
@ -21,10 +21,10 @@ typedef struct {
|
||||||
int n_authors;
|
int n_authors;
|
||||||
char **authors;
|
char **authors;
|
||||||
int n_chapters;
|
int n_chapters;
|
||||||
chapter_t *chapters;
|
chapter_t *chapters_;
|
||||||
publish_t publish;
|
publish_t publish;
|
||||||
int n_magic1;
|
int n_magic1;
|
||||||
uint32_t *magic1;
|
uint32_t *magic_1;
|
||||||
int acquire_method;
|
int acquire_method;
|
||||||
union {
|
union {
|
||||||
char *buy;
|
char *buy;
|
||||||
|
|
|
||||||
|
|
@ -43,10 +43,10 @@ int encode() {
|
||||||
book.n_authors = 2;
|
book.n_authors = 2;
|
||||||
book.authors = authors;
|
book.authors = authors;
|
||||||
book.n_chapters = 3;
|
book.n_chapters = 3;
|
||||||
book.chapters = &chapters[0];
|
book.chapters_ = &chapters[0];
|
||||||
memcpy(&(book.publish), &publish, sizeof(publish));
|
memcpy(&(book.publish), &publish, sizeof(publish));
|
||||||
book.n_magic1 = 2;
|
book.n_magic1 = 2;
|
||||||
book.magic1 = &magic1[0];
|
book.magic_1 = &magic1[0];
|
||||||
book.acquire_method = Book_acquire_buy;
|
book.acquire_method = Book_acquire_buy;
|
||||||
book.acquire.buy = "bought from Xinhua book store";
|
book.acquire.buy = "bought from Xinhua book store";
|
||||||
|
|
||||||
|
|
@ -85,10 +85,10 @@ int decode() {
|
||||||
|
|
||||||
printf("chapters(%d):\n", book.n_chapters);
|
printf("chapters(%d):\n", book.n_chapters);
|
||||||
for(i = 0; i < book.n_chapters; i ++) {
|
for(i = 0; i < book.n_chapters; i ++) {
|
||||||
printf("\tcaption: %s\n", book.chapters[i].caption);
|
printf("\tcaption: %s\n", book.chapters_[i].caption);
|
||||||
printf("\tfrom %d to %d\n",
|
printf("\tfrom %d to %d\n",
|
||||||
book.chapters[i].start,
|
book.chapters_[i].start,
|
||||||
book.chapters[i].end);
|
book.chapters_[i].end);
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("ISBN: %lu year: %u\n",
|
printf("ISBN: %lu year: %u\n",
|
||||||
|
|
@ -97,7 +97,7 @@ int decode() {
|
||||||
|
|
||||||
printf("magic1:\n");
|
printf("magic1:\n");
|
||||||
for(i = 0; i < book.n_magic1; i ++) {
|
for(i = 0; i < book.n_magic1; i ++) {
|
||||||
printf("\t%d\n", book.magic1[i]);
|
printf("\t%d\n", book.magic_1[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (book.acquire_method == Book_acquire_buy) {
|
if (book.acquire_method == Book_acquire_buy) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue