From 5d23ba06e7231f01cdaad808e90f8f3964675448 Mon Sep 17 00:00:00 2001
From: Etienne Brateau <etienne.brateau@ensiie.fr>
Date: Sun, 8 Jul 2018 13:08:39 +0200
Subject: [PATCH] filepack: comment unimplemented functions and structs, and
 clean

---
 psys/include/p2c/filepack.h | 88 ++++++++++++++++---------------------
 psys/src/filepack.c         | 59 +++++++++++++------------
 2 files changed, 70 insertions(+), 77 deletions(-)

diff --git a/psys/include/p2c/filepack.h b/psys/include/p2c/filepack.h
index d6c01f1..c2853d6 100644
--- a/psys/include/p2c/filepack.h
+++ b/psys/include/p2c/filepack.h
@@ -8,72 +8,60 @@
 #include <p2c/misc.h>
 
 
-#ifdef FILEPACK_G
-# define vextern
-#else
-# define vextern extern
-#endif
-
-
-typedef char fp_volumearray[50][26];
+/*typedef char fp_volumearray[50][26];
 
 typedef enum {
     fp_keepit, fp_purgeit
 } fp_closecode;
 
-typedef misc_passentry fp_passarray[201];
-
+typedef misc_passentry fp_passarray[201];*/
 
 
-extern void fp_volumes (char **v);
-extern void fp_filecopy (char *filename1, char *filename2, int writeover);
-extern void fp_filecopy2 (char *filename1, char *filename2, int writeover,
-			     int saveDate);
-extern void fp_duplicate (char *filename1, char *filename2, int purgeold);
+//extern void fp_volumes (char **v);
+//extern void fp_filecopy (char *filename1, char *filename2, int writeover);
+//extern void fp_filecopy2 (char *filename1, char *filename2, int writeover,
+//			     int saveDate);
+//extern void fp_duplicate (char *filename1, char *filename2, int purgeold);
 extern void fp_change (char *filename1, char *filename2);
-extern void fp_makefile (char *filename);
-extern void fp_makedir (char *filename);
+//extern void fp_makefile (char *filename);
+//extern void fp_makedir (char *filename);
 extern void fp_remove (char *filename);
-extern void fp_prefix (char *filename, int unitonly, int sysvol);
+//extern void fp_prefix (char *filename, int unitonly, int sysvol);
 extern int fp_getwd (char *path, char *rootname);
-extern int fp_f_readable (char *filename);
-extern int fp_f_exists (char *filename);
-extern void fp_f_flush (fib *outfib);
-extern void fp_stat (char *path, misc_catentry *cat);
-extern void fp_fstat (fib *f, misc_catentry *cat);
-extern void fp_setFileTimes (char *fn, int set_access, int set_create,
-				misc_catentry *cat);
-extern void fp_fSetFileTimes (fib *f, int set_access, int set_create,
-				 misc_catentry *cat);
-extern void fp_open_parentdir (fib *dirfib, char *dirname,
-				  misc_catentry *dirinfo);
+//extern int fp_f_readable (char *filename);
+//extern int fp_f_exists (char *filename);
+//extern void fp_f_flush (fib *outfib);
+//extern void fp_stat (char *path, misc_catentry *cat);
+//extern void fp_fstat (fib *f, misc_catentry *cat);
+//extern void fp_setFileTimes (char *fn, int set_access, int set_create,
+//				misc_catentry *cat);
+//extern void fp_fSetFileTimes (fib *f, int set_access, int set_create,
+//				 misc_catentry *cat);
+//extern void fp_open_parentdir (fib *dirfib, char *dirname,
+//				  misc_catentry *dirinfo);
 extern void fp_open_dir (fib *dirfib, char *dirname,
 			    misc_catentry *dirinfo);
-extern void fp_open_dir0 (fib *dirfib, char *dirname,
-			     misc_catentry *dirinfo);
+//extern void fp_open_dir0 (fib *dirfib, char *dirname,
+//			     misc_catentry *dirinfo);
 extern void fp_close_dir (fib *dfib);
 extern void fp_cat_dir (fib *dfib, short *numfiles, void* *where);
-extern void fp_close_pass (fib *pfib);
-extern void fp_open_pass (fib *pfib, char *fname, misc_passentry **owords);
-extern void fp_cat_pass (fib *pfib, short *numpass, misc_passentry *pwords);
-extern void fp_add_pass (fib *pfib, misc_passentry *entry_);
-extern void fp_bits_to_words (long b, misc_passentry *ow, char *s);
-extern void fp_words_to_bits (char *s, misc_passentry *ow, long *b);
-extern void fp_iocheck ();
-extern void fp_badio (int iocode);
-extern void fp_setup_fib (char *filename, fib *lfib, int needdirec);
-extern void fp_openinfile (fib *infib, char *filename);
-extern void fp_openoutfile (fib *outfib, char *filename);
-extern void fp_closeinfile (fib *infib);
-extern void fp_closeoutfile (fib *outfib, int option);
-extern long fp_uwrite (fib *f, char *buffer, long request);
-extern long fp_uread (fib *f, char *buffer, long request);
+//extern void fp_close_pass (fib *pfib);
+//extern void fp_open_pass (fib *pfib, char *fname, misc_passentry **owords);
+//extern void fp_cat_pass (fib *pfib, short *numpass, misc_passentry *pwords);
+//extern void fp_add_pass (fib *pfib, misc_passentry *entry_);
+//extern void fp_bits_to_words (long b, misc_passentry *ow, char *s);
+//extern void fp_words_to_bits (char *s, misc_passentry *ow, long *b);
+//extern void fp_iocheck ();
+//extern void fp_badio (int iocode);
+//extern void fp_setup_fib (char *filename, fib *lfib, int needdirec);
+//extern void fp_openinfile (fib *infib, char *filename);
+//extern void fp_openoutfile (fib *outfib, char *filename);
+//extern void fp_closeinfile (fib *infib);
+//extern void fp_closeoutfile (fib *outfib, int option);
+//extern long fp_uwrite (fib *f, char *buffer, long request);
+//extern long fp_uread (fib *f, char *buffer, long request);
 
 
-
-#undef vextern
-
 #endif /*FILEPACK_H*/
 
 /* End. */
-
diff --git a/psys/src/filepack.c b/psys/src/filepack.c
index 0dc7945..92a08a2 100644
--- a/psys/src/filepack.c
+++ b/psys/src/filepack.c
@@ -1,5 +1,3 @@
-#define FILEPACK_G
-
 #include <stdio.h>
 #include <math.h>
 #include <p2c/p2c.h>
@@ -9,50 +7,57 @@
 
 void fp_open_dir(fib *dirfib, char *dirname, misc_catentry *dirinfo)
 {
-  fprintf(stderr, "FILEPACK kluge: fp_open_dir not yet supported\n");
+	fprintf(stderr, "FILEPACK kluge: fp_open_dir not yet supported\n");
 }
 
 void fp_close_dir(fib *dfib)
 {
-  fprintf(stderr, "FILEPACK kluge: fp_close_dir not yet supported\n");
+	fprintf(stderr, "FILEPACK kluge: fp_close_dir not yet supported\n");
 }
 
 void fp_cat_dir(fib *dfib, short *numfiles, void **where)
 {
-  fprintf(stderr, "FILEPACK kluge: fp_cat_dir not yet supported\n");
-  *numfiles = 0;
+	fprintf(stderr, "FILEPACK kluge: fp_cat_dir not yet supported\n");
+	*numfiles = 0;
 }
 
 void fp_change(char* filename1, char *filename2)
 {
-  char filename3[256];
-  char *cp;
-
-  if (strchr(filename2, '/')) {
-    strcpy(filename3, filename2);
-  } else {
-    strcpy(filename3, filename1);
-    cp = (char *) strrchr(filename3, '/');
-    if (cp)
-      cp++;
-    else
-      cp = filename3;
-    strcpy(cp, filename2);
-  }
-  if (access(filename3,0)==0)
-    unlink(filename3);
-  if (!link(filename1, filename3))
-    unlink(filename1);
+	char *filename3;
+	char *cp;
+
+	if (strchr(filename2, '/'))
+	{
+		filename3 = malloc (sizeof(char) * (strlen(filename2) + 1));
+		strcpy(filename3, filename2);
+	}
+	else
+	{
+		filename3 = malloc (sizeof(char) * (strlen(filename1) + 1));
+		strcpy(filename3, filename1);
+		cp = (char *) strrchr(filename3, '/');
+		if (cp)
+			cp++;
+		else
+			cp = filename3;
+		strcpy(cp, filename2);
+	}
+	if (access(filename3, 0) == 0)
+		unlink(filename3);
+	if (!link(filename1, filename3))
+		unlink(filename1);
+	
+	free(filename3);
 }
 
 int fp_getwd(char *path, char *rootname)
 {
-  rootname[0] = '\0';
-  return((getcwd(path, fidleng+1) != NULL));
+	rootname[0] = '\0';
+	return((getcwd(path, fidleng + 1) != NULL));
 }
 
 void fp_remove(char *filename)
 {
-  unlink(filename);
+	unlink(filename);
 }
 
-- 
GitLab