--- psiconv/trunk/lib/psiconv/generate_word.c 2004/01/06 20:15:01 184 +++ psiconv/trunk/lib/psiconv/generate_word.c 2004/02/23 17:23:58 224 @@ -1,6 +1,6 @@ /* generate_word.c - Part of psiconv, a PSION 5 file formats converter - Copyright (c) 2000 Frodo Looijaard + Copyright (c) 2000-2004 Frodo Looijaard This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -70,11 +70,12 @@ psiconv_buffer buf, int lev, psiconv_word_styles_section value) { - int res,i; + int res,i,j; psiconv_word_style style; psiconv_paragraph_layout basepara; psiconv_character_layout basechar; psiconv_font font; + psiconv_u32 buflen; psiconv_progress(config,lev,0,"Writing word styles section"); @@ -106,8 +107,14 @@ basechar->font = font; if (res) goto ERROR3; - if ((res = psiconv_write_u32(config,buf,lev+1,value->normal->hotkey))) + buflen = psiconv_buffer_length(buf); + if ((res = psiconv_unicode_write_char(config,buf,lev+1, + value->normal->hotkey))) goto ERROR3; + for (j = psiconv_buffer_length(buf) - buflen; j < 4; j++) + if ((res = psiconv_write_u8(config,buf,lev+1,0))) + goto ERROR3; + if ((res = psiconv_write_u8(config,buf,lev+1,psiconv_list_length(value->styles)))) goto ERROR3; @@ -119,8 +126,12 @@ res = -PSICONV_E_NOMEM; goto ERROR3; } - if ((res = psiconv_write_u32(config,buf,lev+1,style->hotkey))) + buflen = psiconv_buffer_length(buf); + if ((res = psiconv_unicode_write_char(config,buf,lev+1,style->hotkey))) goto ERROR3; + for (j = psiconv_buffer_length(buf) - buflen; j < 4; j++) + if ((res = psiconv_write_u8(config,buf,lev+1,0))) + goto ERROR3; } if ((res = psiconv_write_u8(config,buf,lev+1,psiconv_list_length(value->styles)))) goto ERROR3;