Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^2: Win32 API directory searches that return wide / unicode filenames

by BrowserUk (Patriarch)
on Mar 03, 2006 at 17:35 UTC ( [id://534292]=note: print w/replies, xml ) Need Help??


in reply to Re: Win32 API directory searches that return wide / unicode filenames
in thread Win32 API directory searches that return wide / unicode filenames

Ideally, perl/win32.* will be updated by someone (or by me) to support the Wide functionality.

(Some/All?) the code to support this option is still there from when the -C command line option enabled the use of the wide apis on win32.

# Win32.c:775-782 /* do the FindFirstFile call */ if (USING_WIDE()) { A2WHELPER(scanname, wbuffer, sizeof(wbuffer)); fh = FindFirstFileW(PerlDir_mapW(wbuffer), &wFindData); } else { fh = FindFirstFileA(PerlDir_mapA(scanname), &aFindData); } # Win32.c:858-870 if (USING_WIDE()) { res = FindNextFileW(dirp->handle, &wFindData); if (res) { W2AHELPER(wFindData.cFileName, buffer, sizeof(buffer)); ptr = buffer; } } else { res = FindNextFileA(dirp->handle, &aFindData); if (res) ptr = aFindData.cFileName; }

All that is needed is the addition of code to enable this at runtime in perl.c/S_parse_body() where it presumably used to live. I can't see any signs of it there now.

Of course, it might be much harder to persuade the powers that be to allocate a new switch letter for the purpose. Maybe additional values could be added to the new interpretation of the -C switch (See perlrun).

Say 'W'/128 for Wide calls. Ie. perl -CW script.pl would do what -C used to do?


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re^3: Win32 API directory searches that return wide / unicode filenames
by Anonymous Monk on Mar 04, 2006 at 19:26 UTC
    FYI - all the if (USING_WIDE()) calls were removed by a patch from Jan back in November in bleadperl.

    So that's really not the route to go.

    I'm not entirely sure why the A functions are the default instead of W.

      That seems a shame, but if Jan is Jan Dubois, he probably had good reasons?


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://534292]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (7)
As of 2024-03-19 10:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found