Article delegate-en/3239 of [1-5169] on the server localhost:119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A3236@delegate-en.ML_>]
Newsgroups: mail-lists.delegate-en

[DeleGate-En] Re: File size issue with FTP cache
23 May 2006 16:58:55 GMT feedback@delegate.org (Yutaka Sato)
The DeleGate Project


Hi,

In message <_A3236@delegate-en.ML_> on 05/23/06(22:09:12)
you Steffen Kaiser <p44eqbdyi-5sbstghfaoxr.ml@ml.delegate.org> wrote:
 |in short it works:
 |  make CC=$CC  CFLAGS="-DSTAT64 -D_LARGEFILE64_SOURCE"

What happens without -D_LARGEFILE64_SOURCE ?
Finally I installed (maybe latest) Debian on my VirtualPC/PPC/MacOSX and
tested DeleGate/9.2.2-pre2a on it.  I could compile it with -DSTAT64 only.

   $ uname -a
   Linux debian 2.4.27-2-386 #1 Wed Aug 17 09:33:35 UTC 2005 i686 GNU/Linux

   $ gcc -v
   Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
   Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --enable-__cxa_atexit --with-system-zlib --enable-nls --without-included-gettext --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
   Thread model: posix
   gcc version 3.3.5 (Debian 1:3.3.5-13)


In message <_A3237@delegate-en.ML_> on 05/23/06(22:32:11)
you Steffen Kaiser <p44eqbdyi-5sbstghfaoxr.ml@ml.delegate.org> wrote:
 |> get debian-31r0a-i386-binary-2.iso
 |get debian-31r0a-i386-binary-2.iso: server said: No such file

Also I saw it, so I peeped what /bin/cat do with strace command and found
it does "open(path,O_LARGEFILE)" which seems not documented.  Then I could
escape the problem with the enclosed patch.

Cheers,
Yutaka
--
  D G   Yutaka Sato <y.sato@delegate.org> http://delegate.org/y.sato/
 ( - )  National Institute of Advanced Industrial Science and Technology
_<   >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan
Do the more with the less -- B. Fuller


*** src/ftp.c	Mon May 22 17:34:45 2006
--- /tmp/ftp.c	Wed May 24 01:44:53 2006
***************
*** 1254,1259 ****
--- 1254,1260 ----
  	}
  	return NULL;
  }
+ #include <fcntl.h>
  static FILE *localRETR(FtpStat *FS,FILE *tc,PCStr(com),PCStr(arg),PVStr(path))
  {	FILE *fp;
  	Connection *Conn = FS->fs_Conn;
***************
*** 1284,1289 ****
--- 1285,1297 ----
  		if( fileIsdir(path) )
  			return NULL;
  		fp = fopen(path,"r");
+ 		if( fp == NULL ){
+ 			int fd;
+ 			fd = open(path,O_RDONLY|O_LARGEFILE);
+ 			if( 0 <= fd ){
+ 				fp = fdopen(fd,"r");
+ 			}
+ 		}
  		if( fp == NULL ){
  			strcpy(proto,DFLT_PROTO);
  			strcpy(DFLT_PROTO,"tar");

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V