diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 9397014bcf..03937b46b5 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,12 @@ +19990912-00:45 EDT David G. Holm + * source/rtl/dir.c + ! Changed file size array element to numeric to match CA-Clipper. + * tests/working/dirtest.prg + + Added 'SET CENTURY ON'. + - Removed padding from size array element. + - Added a TRANSFORM call to size array element. + - Removed padding from date and time array elements. + 19990911-20:25 EDT David G. Holm * source/rtl/tone.c ! Added '|| defined(__CYGWIN__)' to the #if block for HARBOUR_GCC_OS2 diff --git a/harbour/source/rtl/dir.c b/harbour/source/rtl/dir.c index 60dfde29aa..d0cd4a0c6a 100644 --- a/harbour/source/rtl/dir.c +++ b/harbour/source/rtl/dir.c @@ -7,9 +7,10 @@ * by the optional file and attribute mask. * * Latest mods: - * 1.28 19990722 ptucker Corrected? NT Extended modes - * 1.21 19990722 ptucker Implimented directory for MSVC - * Includes new attributes + * 1.44 19990911 dholm Changed file size to numeric, like Clipper. + * 1.28 19990722 ptucker Corrected? NT Extended modes. + * 1.21 19990722 ptucker Implimented directory for MSVC. + * Includes new attributes. * 1.20 19990722 ptucker Corrected hang when attribute types have * been requested. * @@ -160,7 +161,6 @@ HARBOUR HB_DIRECTORY( void ) char pfext[ _POSIX_PATH_MAX + 1 ]; char fname[ _POSIX_PATH_MAX + 1 ]; char fext[ _POSIX_PATH_MAX + 1 ]; - char filesize[ 10 ]; char ddate[ 9 ]; char ttime[ 9 ]; char aatrib[ 8 ]; @@ -313,7 +313,6 @@ HARBOUR HB_DIRECTORY( void ) { attrib = 0; aatrib[ 0 ] = '\0'; - filesize[ 0 ] = '\0'; #if defined(_MSC_VER) strcpy( filename, entry.name ); @@ -336,8 +335,6 @@ HARBOUR HB_DIRECTORY( void ) /* This might be a problem under Novell when the file is a directory */ /* needs test */ fsize = statbuf.st_size; - sprintf( filesize, "%ld", fsize ); - ftime = statbuf.st_mtime; ft = localtime( &ftime ); sprintf( ddate, "%04d%02d%02d", @@ -447,7 +444,7 @@ HARBOUR HB_DIRECTORY( void ) { /* array cname, csize, ddate, ctime, cattributes */ pfilename = hb_itemPutC( NULL, filename ); - psize = hb_itemPutC( NULL, filesize ); + psize = hb_itemPutNL( NULL, fsize ); pdate = hb_itemPutDS( NULL, ddate ); ptime = hb_itemPutC( NULL, ttime ); pattr = hb_itemPutC( NULL, aatrib ); diff --git a/harbour/tests/working/dirtest.prg b/harbour/tests/working/dirtest.prg index bcd3b7fc27..f0565bdbec 100644 --- a/harbour/tests/working/dirtest.prg +++ b/harbour/tests/working/dirtest.prg @@ -18,12 +18,14 @@ local cOs := OS(), cNewLine // adir := asort( directory(filespec,attribs),,, {|x,y|upper(x[1]) < upper(y[1])} ) adir := directory(filespec,attribs) +SET CENTURY ON + for x := 1 to len(adir) outstd(cNewLine) outstd(padr(adir[x,1], 20), "|", ; - padl(adir[x,2], 10), "|", ; - padr(adir[x,3], 8), "|", ; - padr(adir[x,4], 8), "|", ; + transform(adir[x,2], "9,999,999,999"), "|", ; + adir[x,3], "|", ; + adir[x,4], "|", ; adir[x,5]) next x