I also took a look at the win32/dirent.h file that implements opendir(),
readdir(), etc., for Windows. That code uses only the ASCII Win32 API
and so won't work for Unicode path/file names. Hence, this code should
not be used.

I also noticed that the files util/dir.h and util/dir.cpp exist and
ALREADY implement iterating over a directory and the code ALRAEDY works
properly with Unicode path/file names under Windows.

So why was fs::lsdir() added at all?

I'll clean-up the code in util/dir.h and absorb it into fs_util.h

-- 
You received this bug notification because you are a member of Zorba
Coders, which is the registrant for Zorba.
https://bugs.launchpad.net/bugs/986580

Title:
  fs::lsdir() improvements

Status in Zorba - The XQuery Processor:
  Triaged

Bug description:
  I noticed that this function was added.  There are a few of problems
  with its implementation:

  1. It forces the user to use a vector.  What if I want to use a list?
  Or something else?

  2. It uses std::string.  The majority of the Zorba code base uses
  zstring.

  3. It always reads the entire directory whether you want it or not.
  (WHat if there are 10,000 files in a directory?)  Instead, it ought to
  provide an iterator that you can stop any time you please.

  4. After the initial check for an error from opendir(), the code
  doesn't check for any subsequent errors, e.g., it does not check
  closedir() for error.

To manage notifications about this bug go to:
https://bugs.launchpad.net/zorba/+bug/986580/+subscriptions

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to     : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp

Reply via email to