On Mon, Feb 18, 2019 at 4:10 PM Enrico Sorichetti via Oorexx-devel < oorexx-devel@lists.sourceforge.net> wrote:
> Here is the tested and WORKING code sequence > IIRC I had to fix the testSuite in a couple of places > > I did run the test suite twice , > once on the boot volume ( case insensitive by default ) > The second time on an external disk with a case sensitive file system > > > Pathconf needs the file or directory to exist > > Darwin case sensitiveness applies to each file system > So in case of file not found it will return the system case sensitiveness > I did what you suggested, but wouldn't performing the check on the directory the file is in give a more accurate result? Rick > > On NOT Darwin systems it will just cost one extra call , > If You are trying to squeeze performance to the last bit > The second call could be #ifdeffed , > > Cheers > E > > > > /** > * indicate whether the file system is case sensitive. > * > * @return For Unix systems, always returns true. For MacOS, > * this needs to be determined on a case-by-case basis. > * This returns the information for the root file system > */ > bool SysFileSystem::isCaseSensitive() > { > #ifdef HAVE_PC_CASE_SENSITIVE > long res = pathconf("/", _PC_CASE_SENSITIVE); > if (res != -1) > { > return (res==1); > } > #endif > // any error means this value is not supported for this file system > // so the result is most likely true (unix standard) > return true; > } > > /** > * test if an individual file is a case sensitive name > * > * @return For Unix systems, always returns true. For MacOS, > * this needs to be determined on a case-by-case basis. > */ > bool SysFileSystem::isCaseSensitive(const char *name) > { > #ifdef HAVE_PC_CASE_SENSITIVE > long res = pathconf(name, _PC_CASE_SENSITIVE); > if (res != -1) > { > return (res==1) ; > } > // probably file not found > // returns the information for the root file system > res = pathconf("/", _PC_CASE_SENSITIVE); > if (res != -1) > { > return (res==1) ; > } > #endif > // any error means this the value is not supported for this file system > // so the result is most likely true (unix standard) > return true; > } > > > > > On 18 Feb 2019, at 21:52, Erich Steinböck <erich.steinbo...@gmail.com> > wrote: > > PC_CASE_SENSITIVE > > > _______________________________________________ > Oorexx-devel mailing list > Oorexx-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/oorexx-devel >
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel