--- psiconv/trunk/lib/psiconv/parse_routines.h 2000/12/13 16:30:21 63 +++ psiconv/trunk/lib/psiconv/parse_routines.h 2000/12/15 00:21:51 64 @@ -48,22 +48,25 @@ ****************** */ extern psiconv_u8 psiconv_read_u8(const psiconv_buffer buf,int lev, - psiconv_u32 off); + psiconv_u32 off, int *status); extern psiconv_u16 psiconv_read_u16(const psiconv_buffer buf,int lev, - psiconv_u32 off); + psiconv_u32 off, int *status); extern psiconv_u32 psiconv_read_u32(const psiconv_buffer buf,int lev, - psiconv_u32 off); + psiconv_u32 off, int *status); extern psiconv_S_t psiconv_read_S(const psiconv_buffer buf, int lev, - psiconv_u32 off, int *length); + psiconv_u32 off, int *length, int *status); extern psiconv_X_t psiconv_read_X(const psiconv_buffer buf, int lev, - psiconv_u32 off, int *length); + psiconv_u32 off, int *length, int *status); extern psiconv_length_t psiconv_read_length(const psiconv_buffer buf, int lev, - psiconv_u32 off, int *length); + psiconv_u32 off, int *length, + int *status); extern psiconv_size_t psiconv_read_size (const psiconv_buffer buf, int lev, - psiconv_u32 off, int *length); + psiconv_u32 off, int *length, + int *status); extern psiconv_string_t psiconv_read_string(const psiconv_buffer buf,int lev, - psiconv_u32 off,int *length); + psiconv_u32 off,int *length, + int *status); extern int psiconv_parse_bool(const psiconv_buffer buf, int lev, psiconv_u32 off, int *length, @@ -94,6 +97,12 @@ psiconv_u32 off, int *length, psiconv_tab *result); +/* Note: the next two are special, because they modify an existing + layout structure! If it exits due to an unexpected error, part + of the structure may be modified, but it is still safe to call + psiconv_free_{paragraph,character}_layout_list on it (and that + is the only safe thing to do!) */ + extern int psiconv_parse_paragraph_layout_list(const psiconv_buffer buf, int lev, psiconv_u32 off, int *length, psiconv_paragraph_layout result);