From owner-freebsd-ports Mon Jun 17 00:56:03 1996 Return-Path: owner-ports Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id AAA21689 for ports-outgoing; Mon, 17 Jun 1996 00:56:03 -0700 (PDT) Received: from silvia.HIP.Berkeley.EDU (silvia.HIP.Berkeley.EDU [136.152.64.181]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id AAA21618; Mon, 17 Jun 1996 00:55:50 -0700 (PDT) Received: (from asami@localhost) by silvia.HIP.Berkeley.EDU (8.7.5/8.6.9) id AAA04411; Mon, 17 Jun 1996 00:55:33 -0700 (PDT) Date: Mon, 17 Jun 1996 00:55:33 -0700 (PDT) Message-Id: <199606170755.AAA04411@silvia.HIP.Berkeley.EDU> To: committers@freebsd.org CC: ports@freebsd.org, jmz@freebsd.org Subject: review: ftpget final source From: asami@cs.berkeley.edu (Satoshi Asami) Sender: owner-ports@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Here is the final source of /usr/bin/ftpget. Please review, I'd like to put this in -current (and ask David to pull it over to -stable) in the next couple of days. Notes: (1) Yes, I know the manpage is quite sparse. ;) (2) I changed the indentation from the original 4 spaces to 8 spaces. I'm still not sure if it conforms to the standard, can someone with more experience please check it? (3) The program can fetch using either ftp or http, so the name "ftpget" may be misleading. Anyone with a better idea? (4) Jordan asked if we can put the ftp function in a library others can use. If someone can convert it that way, that will be great. Satoshi ======= begin 644 ftpget.tar.gz M'XL(`%4-Q3$"`^P\^U?;1K/Y53[WCUC<#Y#`&-D\TMJ!-`E.PFE>%TB_WA*. MK[!DK,26A"1#2,O_?F=F']J592!)T][SG;@EEE:SL[.SL_/:D8=Y^ MY8=MNO>WMM@]UFIO;VS`-V.M[4WZ%A^7L>W6=JOM;F^Y&_#4W=K>N,>V[OT- MGVF6>REC][S,FX0WP)VEGG_O/^\SY.O_TOL0#,-Q\$W&:+GN]N;F#>M_ORW7 M?W.K!;+0:K>W8/W=[^O_S3]O#EX_8SN,BT'M\.#)(=Q-O#!J#K"Q.:C5FF$T M&$_]@#TXS?QFDL9GS^QQKW>P]N]'!SWV8O])[]5AK\[L@^`BS,(X M8IMMIX.0#Y+1AY_'\1DH'/]#%.3P[RZ[3.,\8/DHS!@:I29CCS(VCJ,SYF7L M*IZR-,A!17&(*,[#08#-B&_@17(RX.+("7H2R_*V668CWB'+)\.ATVV M/V27`9L$0!(PW[MJ,"_RJ0L`1A\07]&#P<5EG`*6,&\0$(YU.KT"',QC MIP&,!C0!:=,T`I+9FW@Z7GL>1%$(A/_B39)OP&E$^:]]O\-U=>."M9K;K/73 M3]OK[N:ZVV9NJ]-J==P?V?O))];[F+!_B4X'1":[\,;3(&,C[R+`&40L\Z(P M#S\%/JZ.M=:R@C2-TP;,,ZCL<.[^&Q+,AP.9L$W);``)C*1\@V/_!\ M!&'PMUZK_:`,2I;[X_"T.=HUV\+8;)I&(;2:;2`K?JDGC!Z5>F97V7I^E039 M;',6#SZ`O)61AO"W#M)8ILE+S\IM*2SLK10,<'BS*0\G9DL=5V]4_PH"O33Q MUO$)-M?65]ASD.0K=C:.3[TQ&\8IFV8LCT&2P\$'$.J`)2#*[`=0,-7=XWOB38`&3B"A;Y++P`R1C$,-#E*(#.*0.$L.\(T2".HF"0XU*/8'OB MY'P6@[@`ZA]\\"JC@#T]>M,_VG_9>_WVR$8\CD5?;&<'%$'+J=5JH(6!-'81 MAW[-#TZG9S;VR5&N&SA$EK/!"!3URG`"NZ_9;#JU/VH6-27'C]\^/=S__:1; MLRZ\_AADA7D)OT'EGML>X(!^#K2%0V:'V1Z-X#@,<%@V#NJPBRQ*8$7SH0W0 M&6R!>,@2M@8L2\=!9"<.X0`5D2`>:Y*=<2QT>VW5KM4D`$GM,@WS(+.1MT._ M(6C/B&AL"\'+$H@S119;V&'4SX8N62-TG)J%%I*K%+;6!D!Q[7:U\1#Y2@W, M>!]G'P4%ZV@\#0JV\5#C%E'2>`^K;H&(V.&.VPT?\,==SIOW0&<*N]<&9&N[ M0[\_`*(;@&4U;+2(#TCY>Z0265GWE MO)#5E:1;",!:B_/^<@1&SFYQ/B3P0%M*7$3)R(6DQ&*2"/X(A-H/S\+<3H[= M$XT_@L&&4]A(M':X9Z-T9VN`42D!J MP_F#9@8&A'FA<%#43.:/^;B!A,_"\S%&HA;[48-YD'PR1`YR#R;;HQ9YQ!NU(U!`N2 M/O!@*S;JAJQ42512909"I26$UL&!7(U5(7&*6%,#X[X/BVD3)Q2W2.OG"87[ MXW$\L,6D5H3*(;5"HF&>1M0?`! MFEQY+Q2_WD3NEVC0Z05.H+``'UXG8'%G9'849[F\GF9!*J\3+\LN?6%$T^D@ M9P@91+FU,L*!7[U]\:*KGJ&_YOE^VH^P"=O,I]O.22\+N92;]01K.Y(%`M(O^B%ET`E>I=U]5S. MB1M+ND&8AP]_?OC0?IH&P>/#O0XXY;B6]2X#=_"WWWXCM]T0:S934RV0UB)3Y&]QM-"WC,\-#.+FRB_8&L[GT.TLZ8QJB*[BL9_F(?%Y84@E!T01@ST$!VR*88`]E6,$Z MK-U2(FIG2!@%-[9!;X,=OG[R2__PZ*#WZ"4Z``Y[`/]R4?U#^`PZIPX)"8M! M$`6;R*S8BR&70]B8%)':I!C`@>??7=.+TGB(K=>"3&&1;9!KN[3#!6^DX@/- M&0E:2V)2?U*8]<\DD)L=;KHI1*A8\NO:C++-RK:'F&,O^C1@A@3V;7-M/B MQW/==_V26>,0QJ1G'55PD7M,>*O93:YIG2#K#O*@ZGDV]XEP>TU""W&?X^"R MI?-;1*^0NM;&':6.HF]F0UP(:FU!!LD0M`OLYQ3_D[G&2-YPQ1'%^=I:H6%$ M!'M.;G'+Y3L74V+<#7\9^WAS^Q(+@Y-/&/J_'`'+771+X)K9Y.I_IAS8'(U3 M$@A!TRTR\7+OZ.7=9((@_S*94$1_I7"XGR<<[E?+ADL>+ZX8Q%;>F"_;4NXZ M:[OYI'\VR>,AIIBR;.!%0Q28^J*[Z2^Z[9D_\!.6\B9TN@J\5%Y/XDA=XLD% M'QL^O&T43PO04(%FP0!Y)#&0Y"K4;&V'M7YR7=D&T\WR'9)QNN,'.2\M],P-E?8,O+S9)`&PM=#?#0R0"ME7H1(UH;]UO+UY4AUG\3!KVN>' M0Q4V]9D(4T5H0@-_H;T`5*:U^&)?MDK?28+0:0HO@MG8QT@BH)/U:UT%$I7; M"4'4EIKC\%9O);Z3C*TTM[_:4^W[(I:9W53SHI6;MI>VO[0--H\,KH2U+/9V M-UQ=%00)+!:)$J61E9I>.F^T7$&/%@FJ<,E8TR):NC%.XOGF`G!ULP(4`Z8& M:Q.HOLH85&-Y/A]'91G3J=H*57N!J"VVTL:6JXXSRJDOGE[7_?*# MWA$/U:1NNPN=!IEWW[":9[^+L9R66M?3W%8IT0TT=-BKF&73P8A.]"E;-(DO M4`;CJ,DSW))\D[CJ5941'BZM9K9QB47^_P_!)Y&;Y(;"`E6'XDFI&$-;SA/> M)4JUE_,<;K<2.YUVA9$/NV'N9@CU+4`S93A5RQ3_.J(1*0-Q!#`KZ>75T2>7 MW38CI!43WW@"V6C=C2@._[ED><`G4"NCL5V1:%-&J$@?O#[`_=OTF-.A=*ZHX::%YY_4YU5P1DF,\TT(;G"]`1GXO`A%/F_) MQ\>AM*S9%QYWRESA_*.U.:&EQKV9S!=/E9)[O%V1.^#+;$:-P,)_IOYS],_4 M?[+6AKNMZC\WMEVJ_VQ_K__\6SX_A,/(#X:LCWOU>7__U9,7;_=ZJG"KU%S# M,`C!A6\!NSJ`7<+^P)QV0^RA!FWG:WZ<+PXYA9M5W`FM(NYH0XM;$0"+.RWV MPA#*HK-:=8/Z5R3"\(/V1;L5)\1:"^EDV&)LA5135YR06Y8Z(N_6Z$S6."J^ MXS%Q5W$-N[_ATR#M<1K'8\L/T7E6(;EJP-=M(5CU;PU2U,#G3)26=%`16XHAPB MGN;)-*=HA\(TW@K_1F>@IN,^&`S]`1I$?H_XA&'KT\&I!H7HL#/HF0)XE%/I MF78G0&A%V'GU8N8I?6!#HB<"(#2J\=K>YWG^Z_>_-IY<9ZD)W`?LT(4 M3MB#M2$/@==&5(($``/@5GKR)WM[\((.))@4+E%/$GP,@;$MIZBXX"LB`T%< M-N&-6;1&&(_-D+B8=40]J,+?8+`)^_`8DU''P0F%73.#$4JM;@_7X<(;L_SB MN'TBSW\P>.?'@"+E960>:,(+>%;@`R_T(G4AF5H`/XG!H;,+EA5!O,B,#7Y;WECKAZKJ[VU=4K=?5"7?T*5_0V01IX'[H6J,]HP&NO)XF7 MAZ?A.,RO4)6:`YV+;F;!J0$R6.Y0;J6D*&'.,-=N,6:IVY!W,Q7D;9U&O)/0 MO;=!QQS:4.RW]4D4Q][PWB7-WIK?->4="MU="0OVS)N.\PZS2MT?\NY2=:FR M?`L%!\^G@?0P\KO4<($GT*H!=Z:0/BXKV$!,^O-/9BX,-&@LEZ>*^J!"ZTM\ MI5,%JMP4F!=NQ@2DERT&5]$6=SJ8?;C_[/G;-V2PJ#"\:-Y_=535C"\8R'8^ M;=3^(KE4F#0CNS346TE9NIJRE,81-<"L#GX7H18^`@4#4&55KW3WK`I68Y:J MSDG)H&LUS1KT;I0X(>3_NE+[#-$CN#QNNZAS5C*M"J:H!`BQ*26]CA6CSE*8!X(4(FUXSSC.SFS[!.P/[D<@IN MD0U7].U@_N&R+Q9OS-%C%P2&*'_1RF$-.LY<'U=.Q'RZ+@%Q9'?VN& MCK*;18UTS5(I!]&?WEBNPDJ?0J=@ M(^B,G6$A]^'^I\`IZEVDZT,\$2X('U>D;:J'IKX27`Q_M_$%6B)!*&'Q&I4: M7)6(84I]ACN*;6(_X9LWD\1TE>IK6MF9%G64W3W*,:*2$H^529#>OXYTB2!Q MFQ=B07V7E@22!_2-]VHRH$DD:XJ$GN`I=2)"5W]QSF[%E\3)],2%[18JA0_"O7HJ&)-1GV:$L)?P7\5KAUQ5 M"AV`;\0B`QLBW&[HP7U)";`'.WCV)@A4CE!IU(A7&<@!AE301:_.$OH664DC M/!&PX"Q'3AGY5YNZ+[=U=S%VJ-QT!G'^\`A M,S:<7N5!AHY+@ZKOI=+D`.40T46G@39>UWQYFKP0#?I3'`4L_]2=C3)128]C M+V>^TCNFQ92O$O`S12)I1Q[1"@I;HEX%D<9#W[O"ZE%DY">2`4$BK@?QG::( MK[:F:B50-XH4@7C'CW8@OG2N;1"VRK9<0T6QW:+D3_D6&58/T&O3>`#.:[(X M7QT\M&?E[=J0T3%7NR8R]),),?G9W49Y39O,'JY2UM24AR3[$PC+_U M-1Q/LQ$YK\+K4WR)BG-K+H$EUBK.(AMUQW<5&1H4VI M!`<\^X4H0M@&Y]\ZI@)Y(2"NIMR3J_P2]]9ZJQELLS4IEA+":%!P9>Z(56)Y MZD49:)/`QY\I66RVAC)[6&_(#>([72;HX*3Y4B[06,`DE5RH$1@)PF."%J__ MX6YT?,4)\88;6]_!B5(\:/1NMH?L%]G75T4(^EKQ&:SR5;R52Z[&(+?,&SF9 M+%LQ/[ MF)'9Y\C'C'1+-6@D*3/SUP:4X8TPQ";KB[L+3'5G?1U&V78TU0,,X0_0B6YB M!+"..VZ=8@%*C-`JE%,I@R1/GPX$U'.AO_% M"_TST\!XE\_C?FD>XLGJJ5-3GI5$[Q:A4&7T.XBI' M7SDO^EEZVMS+XQ!_X$`.(/)#5/1J)I@2>C65Y]];IE8LDAS`00B,IL"M@H6= M,@^3^83_Q2)0TQFF37Y!,9B63T>WB+]KNB)"3\W'ATI4G*@P^Q"<9?PU,OQQ)._""\<8SO+"-.6>ZWBVW&H\3W'1;D>B$JE5 M:;NZ<+6K4G3_Q9E;I`N5D,("'Z.A/ZEP:REBPGH=_97DDCG$!KU2TDR_N,IM:=[_=][ M!Z^9O42T4OIGKW\(0V+/HA'G541"^EFL]K"(<;XNE)T-7DNQJUM*-Y<"UO(Y MQ'6M'*H*78,^'(6/JE8]&`>PFG:VVI*SYR6CZ/J20\&T$Y=PYL3%[\C0'S^1HIZVUVZ'#=A$H&ABV1(MD9(HDE\HNI[, MX"X%UY*;5-VTLN.7<0N@+`]C+[:[()`QN^>UKPSB6!U_ZR:OW'1-#"40D])& M?,#TMUN\'Z[@!W0UXG7P,`DQA!OAQ%'4\WGT\6KT]$%V2'5*EF$M62VVDC]1N?Y;L[J_*M;"Z_"L#/"73DVNSRYFRK.\* M-*15^,$8`EJU1>P^4D[&<38;.D;W4@QGL0/`"!!5.9H2]8IQ"P7K#J-N/0ZV M+,-JVU].VZ\04QS'D?464"F:7S'0^!V1$B(I$)7Z3 M;N:9/M"4TG&01%F:)E'Y,)\7I31&K;TH;*7N\_VUG,]OU@]\<0@P`(OU7&RO M`)GR]9KZ2NZJO+J/T^,DTH]B[51QHRZ:5L`R]B=69:':>NDHIHS6-[L_[O$F M2N3D6](%[Z2&M&UE'6*5>'YE>M0.F]=C-Q^S)=*5[UR%\7MRM> M2FC2G)'\,,!]2X2YO@?W`*S.J#CT9@C7)$4#T--$+3V)R#)@46>2]M[.XJX^ MAU"X&]:<2$HHK84R7ND.I/&NEKF$=<1EAQ@@/O,;F"QRSHK[3;5'/AO82J+. ME$_Y(Z2>PE\C.VI,0'8M<$#3V[@7CU>$TZ;S(9RR3/:ZU>,-&G&>@Z]E42#> M)+R8%)Y7M#]Z2A.:Q1MFM$[9J[JQ$<6:W%>UJ0DS9UI"ARW2 MS9OEFC]+HKD;.^*FU*EV-MB.J]&Z'5!.=5AF&J(YMJL+ZGI$A\.X;+S7#HJF M`V&Y2+.7]A83UF47:RMOS1R')8EG0Q_``` ` end