13531feb863db3591e2c7e61cf45289d3770bc7c
braney
  Mon Oct 31 11:49:46 2022 -0700
for bigWig and bigBed build utilities, check to make sure the file isn't
a pipe

diff --git src/inc/portable.h src/inc/portable.h
index bbcdf75..4694cd5 100644
--- src/inc/portable.h
+++ src/inc/portable.h
@@ -156,30 +156,33 @@
 
 
 boolean isPipe(int fd);
 /* determine in an open file is a pipe  */
 
 boolean maybeTouchFile(char *fileName);
 /* If file exists, set its access and mod times to now.  If it doesn't exist, create it.
  * Return FALSE if we have a problem doing so. */
 
 void touchFileFromFile(const char *oldFile, const char *newFile);
 /* Set access and mod time of newFile from oldFile. */
 
 boolean isDirectory(char *pathName);
 /* Return TRUE if pathName is a directory. */
 
+void mustBeReadableAndRegularFile(char *fileName);
+/* errAbort if fileName is a regular file and readable. */
+
 boolean isRegularFile(char *fileName);
 /* Return TRUE if fileName is a regular file. */
 
 char *mustReadSymlinkExt(char *path, struct stat *sb);
 /* Read symlink or abort. FreeMem the returned value. */
 
 char *mustReadSymlink(char *path);
 /* Read symlink or abort. Checks that path is a symlink. 
 FreeMem the returned value. */
 
 void makeSymLink(char *oldName, char *newName);
 /* Return a symbolic link from newName to oldName or die trying */
 
 long long freeSpaceOnFileSystem(char *path);
 /* Given a path to a file or directory on a file system,  return free space