diff options
author | asami <asami@FreeBSD.org> | 1996-03-25 16:58:59 +0800 |
---|---|---|
committer | asami <asami@FreeBSD.org> | 1996-03-25 16:58:59 +0800 |
commit | 78d0cadf54ba862ff5d579de9075b9f66fea9412 (patch) | |
tree | dbd8fd4588a468fd971e6a2ee6574a63baa3163f /ftp/ftptool/files | |
parent | 334204c5634738eb216e5a2da954b0a74046ed03 (diff) | |
download | freebsd-ports-gnome-78d0cadf54ba862ff5d579de9075b9f66fea9412.tar.gz freebsd-ports-gnome-78d0cadf54ba862ff5d579de9075b9f66fea9412.tar.zst freebsd-ports-gnome-78d0cadf54ba862ff5d579de9075b9f66fea9412.zip |
An xview-based graphical ftp interface.
Submitted by: Janusz Kokot <janek@gaja.ipan.lublin.pl>
Diffstat (limited to 'ftp/ftptool/files')
-rw-r--r-- | ftp/ftptool/files/lex.c | 483 | ||||
-rw-r--r-- | ftp/ftptool/files/patch-aa | 154 | ||||
-rw-r--r-- | ftp/ftptool/files/patch-ab | 35 |
3 files changed, 672 insertions, 0 deletions
diff --git a/ftp/ftptool/files/lex.c b/ftp/ftptool/files/lex.c new file mode 100644 index 000000000000..86c1126b57a6 --- /dev/null +++ b/ftp/ftptool/files/lex.c @@ -0,0 +1,483 @@ +# include "stdio.h" +# define U(x) x +# define NLSTATE yyprevious=YYNEWLINE +# define BEGIN yybgin = yysvec + 1 + +# define INITIAL 0 +# define YYLERR yysvec +# define YYSTATE (yyestate-yysvec-1) +# define YYOPTIM 1 +# define YYLMAX BUFSIZ +# define output(c) putc(c,yyout) +# define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar) +# define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;} +# define yymore() (yymorfg=1) +# define ECHO fprintf(yyout, "%s",yytext) +# define REJECT { nstr = yyreject(); goto yyfussy;} +int yyleng; extern char yytext[]; +int yymorfg; +extern char *yysptr, yysbuf[]; +int yytchar; +FILE *yyin = {stdin}, *yyout = {stdout}; +extern int yylineno; +struct yysvf { + struct yywork *yystoff; + struct yysvf *yyother; + int *yystops;}; +struct yysvf *yyestate; +extern struct yysvf yysvec[], *yybgin; + +#pragma ident "@(#)lex.l 1.2 93/01/13" + +#undef ECHO +#undef input +#include "ftptool.h" + +#undef input +extern char *lex_string; +# define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):*lex_string++)==10?(yylineno++,yytchar):yytchar)==0?0:yytchar) +# define YYNEWLINE 10 +yylex(){ +int nstr; extern int yyprevious; +while((nstr = yylook()) >= 0) +yyfussy: switch(nstr){ +case 0: +if(yywrap()) return(0); break; +case 1: +{return(' ');} +break; +case 2: + {return(PERMS);} +break; +case 3: + {return(LINKS);} +break; +case 4: + {return(USER);} +break; +case 5: + {return(GROUP);} +break; +case 6: + {return(SIZE);} +break; +case 7: + {return(MONTH);} +break; +case 8: + {return(DAY);} +break; +case 9: + {return(TIME);} +break; +case 10: + {return(NAME);} +break; +case 11: + {return(SKIP);} +break; +case 12: + {return(NONUNIX);} +break; +case 13: + {return(LOWERNAME);} +break; +case 14: + {return(yytext[0]);} +break; +case -1: +break; +default: +fprintf(yyout,"bad switch yylook %d",nstr); +} return(0); } +/* end of yylex */ + +yywrap() +{ + return 1; +} +int yyvstop[] = { +0, + +14, +0, + +1, +14, +0, + +1, +0, + +14, +0, + +14, +0, + +14, +0, + +14, +0, + +14, +0, + +14, +0, + +14, +0, + +14, +0, + +14, +0, + +14, +0, + +8, +0, + +10, +0, + +6, +0, + +11, +0, + +9, +0, + +4, +0, + +5, +0, + +3, +0, + +7, +0, + +2, +0, + +13, +0, + +12, +0, +0}; +# define YYTYPE char +struct yywork { YYTYPE verify, advance; } yycrank[] = { +0,0, 0,0, 1,3, 0,0, +0,0, 0,0, 0,0, 0,0, +0,0, 0,0, 1,4, 1,5, +4,5, 4,5, 0,0, 0,0, +0,0, 0,0, 0,0, 0,0, +0,0, 0,0, 0,0, 0,0, +0,0, 0,0, 0,0, 0,0, +0,0, 0,0, 0,0, 0,0, +0,0, 0,0, 0,0, 4,5, +0,0, 0,0, 0,0, 0,0, +0,0, 0,0, 0,0, 0,0, +0,0, 0,0, 0,0, 0,0, +0,0, 0,0, 0,0, 0,0, +0,0, 0,0, 0,0, 0,0, +0,0, 0,0, 0,0, 0,0, +0,0, 1,6, 0,0, 51,57, +0,0, 0,0, 7,17, 16,28, +0,0, 1,7, 12,23, 27,39, +1,8, 33,44, 9,19, 11,21, +14,26, 1,9, 1,10, 1,11, +2,6, 1,12, 6,16, 8,18, +1,13, 1,14, 1,15, 10,20, +2,7, 11,22, 13,24, 2,8, +13,25, 15,27, 17,29, 18,30, +2,9, 2,10, 2,11, 19,31, +2,12, 20,32, 21,33, 2,13, +2,14, 2,15, 22,34, 23,35, +24,36, 25,37, 26,38, 28,40, +30,41, 31,42, 32,43, 34,45, +35,46, 36,47, 37,48, 38,49, +39,50, 40,51, 41,52, 42,53, +43,54, 45,55, 46,56, 55,58, +58,59, 0,0, 0,0, 0,0, +0,0}; +struct yysvf yysvec[] = { +0, 0, 0, +yycrank+-1, 0, 0, +yycrank+-20, yysvec+1, 0, +yycrank+0, 0, yyvstop+1, +yycrank+3, 0, yyvstop+3, +yycrank+0, yysvec+4, yyvstop+6, +yycrank+4, 0, yyvstop+8, +yycrank+1, 0, yyvstop+10, +yycrank+1, 0, yyvstop+12, +yycrank+1, 0, yyvstop+14, +yycrank+8, 0, yyvstop+16, +yycrank+10, 0, yyvstop+18, +yycrank+1, 0, yyvstop+20, +yycrank+17, 0, yyvstop+22, +yycrank+3, 0, yyvstop+24, +yycrank+10, 0, yyvstop+26, +yycrank+2, 0, 0, +yycrank+5, 0, 0, +yycrank+16, 0, 0, +yycrank+21, 0, 0, +yycrank+23, 0, 0, +yycrank+25, 0, 0, +yycrank+28, 0, 0, +yycrank+25, 0, 0, +yycrank+18, 0, 0, +yycrank+36, 0, 0, +yycrank+33, 0, 0, +yycrank+2, 0, 0, +yycrank+34, 0, 0, +yycrank+0, 0, yyvstop+28, +yycrank+27, 0, 0, +yycrank+38, 0, 0, +yycrank+30, 0, 0, +yycrank+4, 0, 0, +yycrank+30, 0, 0, +yycrank+39, 0, 0, +yycrank+48, 0, 0, +yycrank+38, 0, 0, +yycrank+50, 0, 0, +yycrank+38, 0, 0, +yycrank+52, 0, 0, +yycrank+42, 0, 0, +yycrank+40, 0, 0, +yycrank+52, 0, 0, +yycrank+0, 0, yyvstop+30, +yycrank+47, 0, 0, +yycrank+43, 0, 0, +yycrank+0, 0, yyvstop+32, +yycrank+0, 0, yyvstop+34, +yycrank+0, 0, yyvstop+36, +yycrank+0, 0, yyvstop+38, +yycrank+1, 0, 0, +yycrank+0, 0, yyvstop+40, +yycrank+0, 0, yyvstop+42, +yycrank+0, 0, yyvstop+44, +yycrank+54, 0, 0, +yycrank+0, 0, yyvstop+46, +yycrank+0, 0, yyvstop+48, +yycrank+40, 0, 0, +yycrank+0, 0, yyvstop+50, +0, 0, 0}; +struct yywork *yytop = yycrank+128; +struct yysvf *yybgin = yysvec+1; +char yymatch[] = { +00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , +01 ,011 ,012 ,01 ,01 ,01 ,01 ,01 , +01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , +01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , +011 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , +01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , +01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , +01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , +01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , +01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , +01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , +01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , +01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , +01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , +01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , +01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , +0}; +char yyextra[] = { +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0}; +#ifndef lint +static char ncform_sccsid[] = "@(#)ncform 1.6 88/02/08 SMI"; /* from S5R2 1.2 */ +#endif + +int yylineno =1; +# define YYU(x) x +# define NLSTATE yyprevious=YYNEWLINE +char yytext[YYLMAX]; +struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp; +char yysbuf[YYLMAX]; +char *yysptr = yysbuf; +int *yyfnd; +extern struct yysvf *yyestate; +int yyprevious = YYNEWLINE; +yylook(){ + register struct yysvf *yystate, **lsp; + register struct yywork *yyt; + struct yysvf *yyz; + int yych, yyfirst; + struct yywork *yyr; +# ifdef LEXDEBUG + int debug; +# endif + char *yylastch; + /* start off machines */ +# ifdef LEXDEBUG + debug = 0; +# endif + yyfirst=1; + if (!yymorfg) + yylastch = yytext; + else { + yymorfg=0; + yylastch = yytext+yyleng; + } + for(;;){ + lsp = yylstate; + yyestate = yystate = yybgin; + if (yyprevious==YYNEWLINE) yystate++; + for (;;){ +# ifdef LEXDEBUG + if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1); +# endif + yyt = yystate->yystoff; + if(yyt == yycrank && !yyfirst){ /* may not be any transitions */ + yyz = yystate->yyother; + if(yyz == 0)break; + if(yyz->yystoff == yycrank)break; + } + *yylastch++ = yych = input(); + yyfirst=0; + tryagain: +# ifdef LEXDEBUG + if(debug){ + fprintf(yyout,"char "); + allprint(yych); + putchar('\n'); + } +# endif + yyr = yyt; + if ( (int)yyt > (int)yycrank){ + yyt = yyr + yych; + if (yyt <= yytop && yyt->verify+yysvec == yystate){ + if(yyt->advance+yysvec == YYLERR) /* error transitions */ + {unput(*--yylastch);break;} + *lsp++ = yystate = yyt->advance+yysvec; + goto contin; + } + } +# ifdef YYOPTIM + else if((int)yyt < (int)yycrank) { /* r < yycrank */ + yyt = yyr = yycrank+(yycrank-yyt); +# ifdef LEXDEBUG + if(debug)fprintf(yyout,"compressed state\n"); +# endif + yyt = yyt + yych; + if(yyt <= yytop && yyt->verify+yysvec == yystate){ + if(yyt->advance+yysvec == YYLERR) /* error transitions */ + {unput(*--yylastch);break;} + *lsp++ = yystate = yyt->advance+yysvec; + goto contin; + } + yyt = yyr + YYU(yymatch[yych]); +# ifdef LEXDEBUG + if(debug){ + fprintf(yyout,"try fall back character "); + allprint(YYU(yymatch[yych])); + putchar('\n'); + } +# endif + if(yyt <= yytop && yyt->verify+yysvec == yystate){ + if(yyt->advance+yysvec == YYLERR) /* error transition */ + {unput(*--yylastch);break;} + *lsp++ = yystate = yyt->advance+yysvec; + goto contin; + } + } + if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){ +# ifdef LEXDEBUG + if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1); +# endif + goto tryagain; + } +# endif + else + {unput(*--yylastch);break;} + contin: +# ifdef LEXDEBUG + if(debug){ + fprintf(yyout,"state %d char ",yystate-yysvec-1); + allprint(yych); + putchar('\n'); + } +# endif + ; + } +# ifdef LEXDEBUG + if(debug){ + fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1); + allprint(yych); + putchar('\n'); + } +# endif + while (lsp-- > yylstate){ + *yylastch-- = 0; + if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){ + yyolsp = lsp; + if(yyextra[*yyfnd]){ /* must backup */ + while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){ + lsp--; + unput(*yylastch--); + } + } + yyprevious = YYU(*yylastch); + yylsp = lsp; + yyleng = yylastch-yytext+1; + yytext[yyleng] = 0; +# ifdef LEXDEBUG + if(debug){ + fprintf(yyout,"\nmatch "); + sprint(yytext); + fprintf(yyout," action %d\n",*yyfnd); + } +# endif + return(*yyfnd++); + } + unput(*yylastch); + } + if (yytext[0] == 0 /* && feof(yyin) */) + { + yysptr=yysbuf; + return(0); + } + yyprevious = yytext[0] = input(); + if (yyprevious>0) + output(yyprevious); + yylastch=yytext; +# ifdef LEXDEBUG + if(debug)putchar('\n'); +# endif + } + } +yyback(p, m) + int *p; +{ +if (p==0) return(0); +while (*p) + { + if (*p++ == m) + return(1); + } +return(0); +} + /* the following are only used in the lex library */ +yyinput(){ + return(input()); + } +yyoutput(c) + int c; { + output(c); + } +yyunput(c) + int c; { + unput(c); + } diff --git a/ftp/ftptool/files/patch-aa b/ftp/ftptool/files/patch-aa new file mode 100644 index 000000000000..394789ac7ff6 --- /dev/null +++ b/ftp/ftptool/files/patch-aa @@ -0,0 +1,154 @@ +diff -rc ../../Ftptool4.6.orig/batch.c ./batch.c +*** ../../Ftptool4.6.orig/batch.c Tue Mar 19 21:11:25 1996 +--- ./batch.c Tue Mar 19 21:17:42 1996 +*************** +*** 383,389 **** +--- 383,391 ---- + { + FILE *fp; + int isdir; ++ #ifndef __FreeBSD__ + extern char *sys_errlist[]; ++ #endif + int nitems, row; + struct batchlist *tmp; + +*************** +*** 420,426 **** +--- 422,430 ---- + mode_t mode; + int ch; + FILE *fp; ++ #ifndef __FreeBSD__ + extern char *sys_errlist[]; ++ #endif + + if ((fp = fopen(filename, "r")) == NULL) { + footer_message("%s:%s", filename, sys_errlist[errno]); +diff -rc ../../Ftptool4.6.orig/change_dir.c ./change_dir.c +*** ../../Ftptool4.6.orig/change_dir.c Tue Mar 19 21:11:22 1996 +--- ./change_dir.c Tue Mar 19 21:17:42 1996 +*************** +*** 82,88 **** +--- 82,90 ---- + #endif + { + static char cld[MAXPATHLEN + 2]; ++ #ifndef __FreeBSD__ + extern char *sys_errlist[]; ++ #endif + struct dirlist *head = NULL; + int wasinactive; + int rval = 0; +*************** +*** 482,488 **** +--- 484,492 ---- + { + struct dirlist *head = NULL; + struct dirlist *tmp; ++ #ifndef __FreeBSD__ + extern char *sys_errlist[]; ++ #endif + int rval = 0; + + if (chdir(dir) == -1) { +*************** +*** 524,530 **** +--- 528,536 ---- + #endif + { + int answer; ++ #ifndef __FreeBSD__ + extern char *sys_errlist[]; ++ #endif + #ifdef XVIEW3 + Xv_notice notice; + #endif +diff -rc ../../Ftptool4.6.orig/dofuncs.c ./dofuncs.c +*** ../../Ftptool4.6.orig/dofuncs.c Tue Mar 19 21:11:23 1996 +--- ./dofuncs.c Tue Mar 19 21:17:41 1996 +*************** +*** 581,587 **** +--- 581,589 ---- + char *name = NULL; + struct extension_info *ext_info; + struct stat buf; ++ #ifndef __FreeBSD__ + extern char *sys_errlist[]; ++ #endif + + xfer_buttons_inactive(); + abort_transfer = 0; +diff -rc ../../Ftptool4.6.orig/ftp_var.h ./ftp_var.h +*** ../../Ftptool4.6.orig/ftp_var.h Tue Mar 19 21:11:25 1996 +--- ./ftp_var.h Tue Mar 19 21:17:40 1996 +*************** +*** 35,41 **** +--- 35,43 ---- + */ + + #define strerror(e) sys_errlist[e] ++ #ifndef __FreeBSD__ + extern char *sys_errlist[]; ++ #endif + + #ifdef USE_PROTOTYPES + +diff -rc ../../Ftptool4.6.orig/ftptool.h ./ftptool.h +*** ../../Ftptool4.6.orig/ftptool.h Tue Mar 19 21:11:22 1996 +--- ./ftptool.h Tue Mar 19 21:17:40 1996 +*************** +*** 49,64 **** +--- 49,70 ---- + #ifdef AIXV3 + #include <sys/statfs.h> + #else ++ #ifdef __FreeBSD__ ++ #include <sys/mount.h> ++ #else + #include <sys/vfs.h> + #endif + #endif + #endif ++ #endif + + #include <arpa/ftp.h> + #include <arpa/telnet.h> + #include <arpa/inet.h> + #include <netdb.h> ++ #ifndef __FreeBSD__ + #include <malloc.h> ++ #endif + #include <dirent.h> + #include <xview/xview.h> + #include <xview/panel.h> +diff -rc ../../Ftptool4.6.orig/tar_view.c ./tar_view.c +*** ../../Ftptool4.6.orig/tar_view.c Tue Mar 19 21:11:24 1996 +--- ./tar_view.c Tue Mar 19 21:17:41 1996 +*************** +*** 173,179 **** +--- 173,181 ---- + #endif + { + char *dir; ++ #ifndef __FreeBSD__ + extern char *sys_errlist[]; ++ #endif + int rval; + + xv_set(base_window.frame, +diff -rc ../../Ftptool4.6.orig/view_file.c ./view_file.c +*** ../../Ftptool4.6.orig/view_file.c Tue Mar 19 21:11:23 1996 +--- ./view_file.c Tue Mar 19 21:17:41 1996 +*************** +*** 582,588 **** +--- 582,590 ---- + char *filename = NULL; + struct extension_info *tmp; + FILE *fp; ++ #ifndef __FreeBSD__ + extern char *sys_errlist[]; ++ #endif + char *typename; + + /* create will also truncate, which we want to do here */ diff --git a/ftp/ftptool/files/patch-ab b/ftp/ftptool/files/patch-ab new file mode 100644 index 000000000000..b47654869757 --- /dev/null +++ b/ftp/ftptool/files/patch-ab @@ -0,0 +1,35 @@ +--- ./Imakefile.org Sun Aug 28 20:05:38 1994 ++++ ./Imakefile Mon Mar 25 00:47:06 1996 +@@ -21,10 +21,10 @@ + #CC=gcc -ansi + + #Uncomment the following lines for SunOS 5.x with Sun cc. +-DEFINES= -DSYSV -DSVR4 $(XVIEW) $(SOCKDEFS) -DGLOBAL_FTPTOOLRC=\"$(FTPTOOLRC)\" +-LIBSUNOS5= -R /usr/openwin/lib:/opt/openwin/lib:/usr/opt/openwin/lib \ +- -lsocket -lnsl +-CC=cc -Xa ++#DEFINES= -DSYSV -DSVR4 $(XVIEW) $(SOCKDEFS) -DGLOBAL_FTPTOOLRC=\"$(FTPTOOLRC)\" ++#LIBSUNOS5= -R /usr/openwin/lib:/opt/openwin/lib:/usr/opt/openwin/lib \ ++# -lsocket -lnsl ++#CC=cc -Xa + + #Uncomment the following lines for SunOS 5.x with gcc + #Don't use -ansi, there seems to be a header file problem with that. +@@ -45,6 +45,8 @@ + #define ManSuffix 1 + #endif + ++OPENWINHOME = $(PROJECTROOT) ++ + FTPTOOLRCDIR = $(LIBDIR)/ftptool + FTPTOOLRC = $(FTPTOOLRCDIR)/ftptoolrc + SYS_LIBRARIES = -lm +@@ -73,7 +75,7 @@ + + SRCS = batch.c button_funcs.c change_dir.c create_main.c create_other.c \ + dircache.c dirlist.c dofuncs.c dnd.c event.c ftp.c host_list.c \ +- lex.l main.c menu_funcs.c misc.c readdir.c schedule.c tar_view.c \ ++ lex.c main.c menu_funcs.c misc.c readdir.c schedule.c tar_view.c \ + transfer.c view_file.c + + OBJS = batch.o button_funcs.o change_dir.o create_main.o create_other.o \ |