# HG changeset patch # User Kenichi Handa # Date 887973272 0 # Node ID b00fa3b6e332a3226411a521c4b7108dff132df8 # Parent d5e308b7879e5eb4e5b0306685216a77079a875c (Fwrite_region): When writing a string, give byte size to a_write. (a_write): Handle annotations correctly when writing a string. diff -r d5e308b7879e -r b00fa3b6e332 src/fileio.c --- a/src/fileio.c Fri Feb 20 01:45:50 1998 +0000 +++ b/src/fileio.c Fri Feb 20 11:14:32 1998 +0000 @@ -4229,7 +4229,8 @@ if (STRINGP (start)) { failure = 0 > a_write (desc, XSTRING (start)->data, - XSTRING (start)->size, 0, &annotations, &coding); + XSTRING (start)->size_byte, 0, &annotations, + &coding); save_errno = errno; } else if (XINT (start) != XINT (end)) @@ -4477,7 +4478,7 @@ while (NILP (*annot) || CONSP (*annot)) { tem = Fcar_safe (Fcar (*annot)); - nextpos = 0; + nextpos = bytepos - 1; if (INTEGERP (tem)) nextpos = CHAR_TO_BYTE (XFASTINT (tem)); @@ -4498,7 +4499,7 @@ tem = Fcdr (Fcar (*annot)); if (STRINGP (tem)) { - if (0 > e_write (desc, XSTRING (tem)->data, XSTRING (tem)->size, + if (0 > e_write (desc, XSTRING (tem)->data, XSTRING (tem)->size_byte, coding)) return -1; }