- static Odr_arm arm[] =
- {
- {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_ListEntries_entries, (Odr_fun)z_Entries},
- {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_ListEntries_nonSurrogateDiagnostics,
- (Odr_fun)z_DiagRecs},
- {-1, -1, -1, -1, 0}
- };
-
- if (o->direction == ODR_DECODE)
- *p = (Z_ListEntries *)odr_malloc(o, sizeof(**p));
- else if (!*p)
- return opt;
-
- if (odr_choice(o, arm, &(*p)->u, &(*p)->which))
- return 1;
- *p = 0;
- return opt && odr_ok(o);
-}
-
-#endif
-
-int z_ListEntries (ODR o, Z_ListEntries **p, int opt)
-{
- if (!odr_sequence_begin (o, p, sizeof(**p)))
- return opt && odr_ok (o);
- return
- odr_implicit_settag (o, ODR_CONTEXT, 1) &&
- (odr_sequence_of(o, (Odr_fun) z_Entry, &(*p)->entries,
- &(*p)->num_entries) || odr_ok(o)) &&
- odr_implicit_settag (o, ODR_CONTEXT, 2) &&
- (odr_sequence_of(o, (Odr_fun) z_DiagRec, &(*p)->nonsurrogateDiagnostics,
- &(*p)->num_nonsurrogateDiagnostics) || odr_ok(o)) &&
- odr_sequence_end (o);
+ if (!odr_sequence_begin (o, p, sizeof(**p), 0))
+ return opt && odr_ok (o);
+ return
+ odr_implicit_settag (o, ODR_CONTEXT, 1) &&
+ (odr_sequence_of(o, (Odr_fun) z_Entry, &(*p)->entries,
+ &(*p)->num_entries, 0) || odr_ok(o)) &&
+ odr_implicit_settag (o, ODR_CONTEXT, 2) &&
+ (odr_sequence_of(o, (Odr_fun) z_DiagRec,
+ &(*p)->nonsurrogateDiagnostics,
+ &(*p)->num_nonsurrogateDiagnostics, 0)
+ || odr_ok(o)) &&
+ odr_sequence_end (o);