| 1195 | } |
| 1196 | |
| 1197 | PB_API int pb_nexttype(const pb_State *S, const pb_Type **ptype) { |
| 1198 | const pb_TypeEntry *e = NULL; |
| 1199 | if (S != NULL) { |
| 1200 | if (*ptype != NULL) |
| 1201 | e = (pb_TypeEntry*)pb_gettable(&S->types, (pb_Key)(*ptype)->name); |
| 1202 | while (pb_nextentry(&S->types, (const pb_Entry**)&e)) |
| 1203 | if ((*ptype = e->value) != NULL && !(*ptype)->is_dead) |
| 1204 | return 1; |
| 1205 | } |
| 1206 | *ptype = NULL; |
| 1207 | return 0; |
| 1208 | } |
| 1209 | |
| 1210 | PB_API int pb_nextfield(const pb_Type *t, const pb_Field **pfield) { |
| 1211 | const pb_FieldEntry *e = NULL; |
no test coverage detected