diff --git a/compiler/capnpc-c.c b/compiler/capnpc-c.c index 9f4a77d..ff4fdca 100644 --- a/compiler/capnpc-c.c +++ b/compiler/capnpc-c.c @@ -1033,7 +1033,7 @@ static void gen_call_list_decoder(capnp_ctx_t *ctx, struct str *func, char *dtypename = n->name.str; str_addf(func, "decode_%s_list(&(d->%s), &(d->%s), s->%s);\n", dtypename, - countvar, var2, var); + countvar, var, var2); } 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; default: diff --git a/examples/book/book.capnp b/examples/book/book.capnp index 23c3f47..1192166 100644 --- a/examples/book/book.capnp +++ b/examples/book/book.capnp @@ -18,9 +18,9 @@ struct Publish $C.mapname("publish_t") { struct Book $C.mapname("book_t") { title @0: Text; 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; - 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") { buy @3: Text; donation @4: Text; diff --git a/examples/book/book.h b/examples/book/book.h index 36decc9..544360f 100644 --- a/examples/book/book.h +++ b/examples/book/book.h @@ -21,10 +21,10 @@ typedef struct { int n_authors; char **authors; int n_chapters; - chapter_t *chapters; + chapter_t *chapters_; publish_t publish; int n_magic1; - uint32_t *magic1; + uint32_t *magic_1; int acquire_method; union { char *buy; diff --git a/examples/book/test.c b/examples/book/test.c index fd51655..ef8c731 100644 --- a/examples/book/test.c +++ b/examples/book/test.c @@ -43,10 +43,10 @@ int encode() { book.n_authors = 2; book.authors = authors; book.n_chapters = 3; - book.chapters = &chapters[0]; + book.chapters_ = &chapters[0]; memcpy(&(book.publish), &publish, sizeof(publish)); book.n_magic1 = 2; - book.magic1 = &magic1[0]; + book.magic_1 = &magic1[0]; book.acquire_method = Book_acquire_buy; book.acquire.buy = "bought from Xinhua book store"; @@ -85,10 +85,10 @@ int decode() { printf("chapters(%d):\n", book.n_chapters); 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", - book.chapters[i].start, - book.chapters[i].end); + book.chapters_[i].start, + book.chapters_[i].end); } printf("ISBN: %lu year: %u\n", @@ -97,7 +97,7 @@ int decode() { printf("magic1:\n"); 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) {