jcs
/amend
/amendments
/150
repo: HFS has a max filename size of 31 characters
When creating temporary files for diffing, truncate to that size
jcs made amendment 150 about 1 year ago
--- repo.c Mon Mar 18 08:54:33 2024
+++ repo.c Wed Oct 2 12:56:16 2024
@@ -782,10 +782,10 @@ repo_diff_file(struct repo *repo, struct repo_file *fi
short error, ret, frefnum, tofile_empty = 0;
/* write out old file */
- snprintf((char *)&fromfilename, sizeof(fromfilename), "[%lu] %s",
- Time, file->filename);
+ snprintf((char *)fromfilename, HFS_FILENAME_MAX + 1, "[%lu] %s", Time,
+ file->filename);
CtoPstr(fromfilename);
-
+
error = Create(fromfilename, repo->bile->vrefnum, file->creator,
file->type);
if (error && error != dupFNErr)
--- util.h Mon Mar 25 14:38:29 2024
+++ util.h Wed Oct 2 12:51:17 2024
@@ -49,6 +49,9 @@
((unsigned short)((unsigned char)(a)) << 8) | \
(unsigned short)((unsigned char)(b)) )
+/* THINK C's stdio.h defines FILENAME_MAX but that should be PATH_MAX */
+#define HFS_FILENAME_MAX 31
+
#define SCROLLBAR_WIDTH 16
/* GetMBarHeight() is not very useful */