95e9718709993572ff6e85bc7a751e1baa89c26a
braney
  Mon Nov 20 14:47:56 2023 -0800
add a utility to count up how many sessions are missing their custom
tracks

diff --git src/inc/portable.h src/inc/portable.h
index 4694cd5..9c792dc 100644
--- src/inc/portable.h
+++ src/inc/portable.h
@@ -19,35 +19,36 @@
  * the regular expression pattern in directory.
  * See REGCOMP(3) for flags (e.g. REG_ICASE)  */
 
 struct slName *pathsInDirAndSubdirs(char *dir, char *wildcard);
 /* Return list of all non-directory files in dir and it's
  * subdirs.  Returns path to files including dir and subdir. */
 
 struct fileInfo 
 /* Info about a file. */
     {
     struct fileInfo  *next;	/* Next in list. */
     off_t size;		/* Size in bytes. */
     bool isDir;		/* True if file is a directory. */
     int statErrno;	/* Result of stat (e.g. bad symlink). */
     time_t lastAccess;  /* Last access time. */
+    time_t creationTime; /* Creation time. */
     char name[1];	/* Allocated at run time. */
     };
 
 struct fileInfo *newFileInfo(char *name, off_t size, bool isDir, int statErrno, 
-	time_t lastAccess);
+	time_t lastAccess, time_t creationTime);
 /* Return a new fileInfo. */
 
 struct fileInfo *listDirXExt(char *dir, char *pattern, boolean fullPath, boolean ignoreStatFailures);
 /* Return list of files matching wildcard pattern with
  * extra info. If full path is true then the path will be
  * included in the name of each file.  You can free the
  * resulting list with slFreeList. */
 
 struct fileInfo *listDirX(char *dir, char *pattern, boolean fullPath);
 /* Return list of files matching wildcard pattern with
  * extra info. If full path is true then the path will be
  * included in the name of each file.  You can free the
  * resulting list with slFreeList. */
 
 char *getCurrentDir();