| 1707 | } |
| 1708 | |
| 1709 | static int pbL_loadFile(pb_State *S, pbL_FileInfo *info, pb_Loader *L) { |
| 1710 | size_t i, count, j, jcount, curr = 0; |
| 1711 | pb_Name *syntax; |
| 1712 | pbCM(syntax = pb_newname(S, pb_slice("proto3"), NULL)); |
| 1713 | for (i = 0, count = pbL_count(info); i < count; ++i) { |
| 1714 | if (info[i].package.p) |
| 1715 | pbC(pbL_prefixname(S, info[i].package, &curr, L, NULL)); |
| 1716 | L->is_proto3 = (pb_name(S, info[i].syntax, NULL) == syntax); |
| 1717 | for (j = 0, jcount = pbL_count(info[i].enum_type); j < jcount; ++j) |
| 1718 | pbC(pbL_loadEnum(S, &info[i].enum_type[j], L)); |
| 1719 | for (j = 0, jcount = pbL_count(info[i].message_type); j < jcount; ++j) |
| 1720 | pbC(pbL_loadType(S, &info[i].message_type[j], L)); |
| 1721 | for (j = 0, jcount = pbL_count(info[i].extension); j < jcount; ++j) |
| 1722 | pbC(pbL_loadField(S, &info[i].extension[j], L, NULL)); |
| 1723 | L->b.size = (unsigned)curr; |
| 1724 | } |
| 1725 | return PB_OK; |
| 1726 | } |
| 1727 | |
| 1728 | PB_API int pb_load(pb_State *S, pb_Slice *s) { |
| 1729 | pbL_FileInfo *files = NULL; |
no test coverage detected