-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 17.03.2013 18:55, JonY wrote: > On 3/17/2013 18:37, Erik de Castro Lopo wrote: >> JonY wrote: >> >>> On 3/17/2013 10:33, Janne Hyvärinen wrote: >>>> Here's a patch that makes MSVC compiled flac.exe able to use >>>> wildcards and encode/decode files with Unicode characters in >>>> names. It may not be the prettiest code but it fulfills its >>>> primary purpose. I tried to alter FLAC code as little as >>>> possible. It replaces argv with utf-8 encoded version and >>>> only converts to usable Unicode for file functions. That >>>> means printed texts and tags that contain non-ascii >>>> characters will be broken, but it is fixable if these changes >>>> are acceptable. >>>> >>> >>> Can this be reworked without the defines? This way, it should >>> support mingw builds too. >> >> +1 >> >> I'd like to see some way to do this to: >> >> a) Make this usable from MinGW compiled binaries. b) Reduce the >> the amount of inline #ifdef hackery. >> > > A simple way to do this is to make all C IO calls that need OS > specific hacks go into the compatibility module. Eg for open() > calls: > > int _flac_open(....){ #if win32 ... #else if os2 ... #else ... > [generic call to open() without hacks] #endif } > > All those ifdefs will at least be confined rather than spread out > through the code. I did it plibc-style:
in compat.h: #if defined(_WIN32) #define FOPEN grabbag__fopen_utf8_wrapper #else #define FOPEN fopen #endif in grabbag: #if defined(_WIN32) <implement grabbag__fopen_utf8_wrapper, which has the same signature as fopen, but does utf8->utf16 conversion internally, then calls wfopen> #endif and replace "fopen" with "FOPEN" everywhere else. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (MingW32) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJRRdrIAAoJEOs4Jb6SI2CwL4YH/Ayixx9r3XitYI0j1FH+xQd3 lrhJ3I3Di1uE0/LES9/mL65T6yBvwov1LDoL4JMHMK4/mH78s0wDZXYr6h/FoEhW 8XpxRL6ujDfCEb2cp76KAcZLL3rcO4uEsgVJsXBtkC5K+zpjzgMVnasg+oH/Z6sS PdqPg/w+40FOgkYszMUwwJJJF/y2uTZXSOZoDyM8glx2oMhrAHmi0Yx7ksehndSo wN6JaJFe3IdprOZdyLXpxsPxiNt1MiR0b7BKg4bAFt8evStcD9d/CHSJ3te5134v d4YswJj/GQ1y9fJLpW+wPSEYmcJbi+Brkfo8OYs5pcs2Tsv0ZfQ80ItoJZ91CyQ= =ZnwK -----END PGP SIGNATURE----- _______________________________________________ flac-dev mailing list flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev