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