texlive[49178] Build/source/texk/web2c/lib: make necessary changes

commits+kakuto at tug.org commits+kakuto at tug.org
Sat Nov 17 23:04:47 CET 2018


Revision: 49178
          http://tug.org/svn/texlive?view=revision&revision=49178
Author:   kakuto
Date:     2018-11-17 23:04:46 +0100 (Sat, 17 Nov 2018)
Log Message:
-----------
make necessary changes for XeTeX in texmfmp.c

Modified Paths:
--------------
    trunk/Build/source/texk/web2c/lib/ChangeLog
    trunk/Build/source/texk/web2c/lib/texmfmp.c

Modified: trunk/Build/source/texk/web2c/lib/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/lib/ChangeLog	2018-11-17 20:57:01 UTC (rev 49177)
+++ trunk/Build/source/texk/web2c/lib/ChangeLog	2018-11-17 22:04:46 UTC (rev 49178)
@@ -1,3 +1,9 @@
+2018-11-18  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	* texmfmp.c: Make necessary changes for XeTeX in
+	getcreationdate(), getfilemoddate(), getfilesize(),
+	and getfiledump(). getfiledump() is still incomplete.
+
 2018-11-17  Joseph Wright  <joseph.wright at morningstar2.co.uk>
 
 	* texmfmp.c: Support some primitives from pdfTeX in XeTeX.

Modified: trunk/Build/source/texk/web2c/lib/texmfmp.c
===================================================================
--- trunk/Build/source/texk/web2c/lib/texmfmp.c	2018-11-17 20:57:01 UTC (rev 49177)
+++ trunk/Build/source/texk/web2c/lib/texmfmp.c	2018-11-17 22:04:46 UTC (rev 49178)
@@ -3129,6 +3129,9 @@
 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,7 +3145,12 @@
         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;
 }
 
@@ -3149,8 +3157,12 @@
 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 @@
             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 @@
     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 @@
             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 @@
         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 */
     }



More information about the tex-live-commits mailing list