summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipdfmx/src/cmap_read.c
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-05-21 01:08:58 +0000
committerKarl Berry <karl@freefriends.org>2008-05-21 01:08:58 +0000
commit0ec78c5842c97cb4790129f345d904837dd1fd9c (patch)
tree20936290ae9060c90dffab6e58548b990228dd61 /Build/source/texk/dvipdfmx/src/cmap_read.c
parent29da3025cc0e364dc9a60bafce96e7fa110d433a (diff)
dvipdfmx-20080520 snapshot, after remaking autofiles
git-svn-id: svn://tug.org/texlive/trunk@8263 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvipdfmx/src/cmap_read.c')
-rw-r--r--Build/source/texk/dvipdfmx/src/cmap_read.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/Build/source/texk/dvipdfmx/src/cmap_read.c b/Build/source/texk/dvipdfmx/src/cmap_read.c
index c40652da08d..f927b40de77 100644
--- a/Build/source/texk/dvipdfmx/src/cmap_read.c
+++ b/Build/source/texk/dvipdfmx/src/cmap_read.c
@@ -1,4 +1,4 @@
-/* $Header: /home/cvsroot/dvipdfmx/src/cmap_read.c,v 1.2 2005/06/08 11:18:37 hirata Exp $
+/* $Header: /home/cvsroot/dvipdfmx/src/cmap_read.c,v 1.3 2008/01/11 18:04:15 matthias Exp $
This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
@@ -66,12 +66,13 @@ ifreader_create (FILE *fp, long size, long bufsize)
ifreader *reader;
reader = NEW(1, ifreader);
- reader->buf = NEW(bufsize, unsigned char);
+ reader->buf = NEW(bufsize+1, unsigned char);
reader->max = bufsize;
reader->fp = fp;
reader->unread = size;
reader->cursor = reader->endptr = reader->buf;
+ *reader->endptr = 0;
return reader;
}
@@ -96,7 +97,7 @@ ifreader_read (ifreader *reader, long size)
if (size > reader->max) {
if (__verbose)
MESG("\nExtending buffer (%ld bytes)...\n", size);
- reader->buf = RENEW(reader->buf, size, unsigned char);
+ reader->buf = RENEW(reader->buf, size+1, unsigned char);
reader->max = size;
}
if (reader->unread > 0 && bytesrem < size) {
@@ -112,6 +113,8 @@ ifreader_read (ifreader *reader, long size)
MESG("Reading more %ld bytes (%ld bytes remains in buffer)...\n", bytesread, bytesrem);
}
+ *reader->endptr = 0;
+
return bytesread + bytesrem;
}
#define ifreader_need(f,s) ifreader_read((f),(s))
@@ -527,7 +530,7 @@ CMap_parse (CMap *cmap, FILE *fp)
ASSERT(cmap && fp);
- input = ifreader_create(fp, file_size(fp), INPUT_BUF_SIZE);
+ input = ifreader_create(fp, file_size(fp), INPUT_BUF_SIZE-1);
while (status >= 0) {
tok1 = tok2 = NULL;