AmendHub

Download:

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 */