summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/lib/texmfmp.c
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2018-11-17 22:04:46 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2018-11-17 22:04:46 +0000
commit99859351234219667e5b7d226c6793392f7580d9 (patch)
treec975f94a95086b6dabe249cc65656226c4520fb0 /Build/source/texk/web2c/lib/texmfmp.c
parent322c29492333192e4ad9645d388e4e6cdc850cd3 (diff)
make necessary changes for XeTeX in texmfmp.c
git-svn-id: svn://tug.org/texlive/trunk@49178 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/lib/texmfmp.c')
-rw-r--r--Build/source/texk/web2c/lib/texmfmp.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/Build/source/texk/web2c/lib/texmfmp.c b/Build/source/texk/web2c/lib/texmfmp.c
index 7a253cf7373..d4bdae0a88c 100644
--- a/Build/source/texk/web2c/lib/texmfmp.c
+++ b/Build/source/texk/web2c/lib/texmfmp.c
@@ -3129,6 +3129,9 @@ char *makecfilename(integer s)
void getcreationdate(void)
{
size_t len;
+#if defined(XeTeX)
+ int i;
+#endif
initstarttime();
/* put creation date on top of string pool and update poolptr */
len = strlen(start_time_str);
@@ -3142,15 +3145,24 @@ void getcreationdate(void)
return;
}
+#if defined(XeTeX)
+ for (i = 0; i < len; i++)
+ strpool[poolptr++] = (uint16_t)start_time_str[i];
+#else
memcpy(&strpool[poolptr], start_time_str, len);
+#endif
poolptr += len;
}
void getfilemoddate(integer s)
{
struct stat file_data;
-
+#if defined(XeTeX)
+ int i;
+ const_string orig_name = gettexstring(s);
+#else
const_string orig_name = makecfilename(s);
+#endif
char *file_name = kpse_find_tex(orig_name);
if (file_name == NULL) {
return; /* empty string */
@@ -3174,8 +3186,13 @@ void getfilemoddate(integer s)
poolptr = poolsize;
/* error by str_toks that calls str_room(1) */
} else {
+#if defined(XeTeX)
+ for (i = 0; i < len; i++)
+ strpool[poolptr++] = time_str[i];
+#else
memcpy(&strpool[poolptr], time_str, len);
poolptr += len;
+#endif
}
}
/* else { errno contains error code } */
@@ -3188,7 +3205,11 @@ void getfilesize(integer s)
struct stat file_data;
int i;
+#if defined(XeTeX)
+ char *file_name = kpse_find_tex(gettexstring(s));
+#else
char *file_name = kpse_find_tex(makecfilename(s));
+#endif
if (file_name == NULL) {
return; /* empty string */
}
@@ -3212,8 +3233,13 @@ void getfilesize(integer s)
poolptr = poolsize;
/* error by str_toks that calls str_room(1) */
} else {
+#if defined(XeTeX)
+ for (i = 0; i < len; i++)
+ strpool[poolptr++] = (uint16_t)buf[i];
+#else
memcpy(&strpool[poolptr], buf, len);
poolptr += len;
+#endif
}
}
/* else { errno contains error code } */
@@ -3241,7 +3267,11 @@ void getfiledump(integer s, int offset, int length)
return;
}
+#if defined(XeTeX)
+ file_name = kpse_find_tex(gettexstring(s));
+#else
file_name = kpse_find_tex(makecfilename(s));
+#endif
if (file_name == NULL) {
return; /* empty string */
}