- case ODR_ENCODE:
- *(o->bp++) = 0X00;
- o->left--;
- fprintf(stderr, "[NULL]\n");
- return 1;
- case ODR_DECODE:
- if (*(o->bp++) != 0X00)
- return 0;
- o->left--;
- fprintf(stderr, "[NULL]\n");
- return 1;
- case ODR_PRINT: return 1;
- default: return 0;
+ case ODR_ENCODE:
+ if (odr_putc(o, 0X00) < 0)
+ return 0;
+#ifdef ODR_DEBUG
+ fprintf(stderr, "[NULL]\n");
+#endif
+ return 1;
+ case ODR_DECODE:
+ if (*(o->bp++) != 0X00)
+ {
+ o->error = OPROTO;
+ return 0;
+ }
+#ifdef ODR_DEBUG
+ fprintf(stderr, "[NULL]\n");
+#endif
+ return 1;
+ case ODR_PRINT: return 1;
+ default: o->error = OOTHER; return 0;