Documented the fl_open() utility function.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9704 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Manolo Gouy 2012-10-19 11:23:51 +00:00
parent 406bafecc6
commit 00ed897277
5 changed files with 25 additions and 10 deletions

View File

@ -84,9 +84,10 @@
\endcode \endcode
The Fl_Native_File_Chooser widget transmits UTF-8 encoded filenames to its user. It is The Fl_Native_File_Chooser widget transmits UTF-8 encoded filenames to its user. It is
recommended to open files that may have non-ASCII names with the fl_fopen() utility recommended to open files that may have non-ASCII names with the fl_fopen() or
function that handles these names in a cross-platform way (whereas the standard fl_open() utility functions that handle these names in a cross-platform way
fopen() function fails on the MSWindows platform to open files with a non-ASCII name). (whereas the standard fopen()/open() functions fail on the MSWindows platform
to open files with a non-ASCII name).
<B>Platform Specific Caveats</B> <B>Platform Specific Caveats</B>

View File

@ -15,6 +15,9 @@
* *
* http://www.fltk.org/str.php * http://www.fltk.org/str.php
*/ */
/** \file
File names and URI utility functions.
*/
/* Xcode on OS X includes files by recursing down into directories. /* Xcode on OS X includes files by recursing down into directories.
* This code catches the cycle and directly includes the required file. * This code catches the cycle and directly includes the required file.

View File

@ -475,9 +475,9 @@ state information and data structures.
\subsection non_ascii_filenames Using filenames with non-ASCII characters \subsection non_ascii_filenames Using filenames with non-ASCII characters
In FLTK, all strings, including filenames, are UTF-8 encoded. The utility function In FLTK, all strings, including filenames, are UTF-8 encoded. The utility functions
fl_fopen() allows to open files potentially having non-ASCII names in a fl_fopen() and fl_open() allow to open files potentially having non-ASCII names in a
cross-platform fashion, whereas the standard fopen() function fails to do so. cross-platform fashion, whereas the standard fopen()/open() functions fail to do so.
\subsection osissues_win32_messages Handling Other WIN32 Messages \subsection osissues_win32_messages Handling Other WIN32 Messages

View File

@ -28,9 +28,10 @@
\image latex Fl_File_Chooser.jpg "Fl_File_Chooser" width=12cm \image latex Fl_File_Chooser.jpg "Fl_File_Chooser" width=12cm
The Fl_File_Chooser widget transmits UTF-8 encoded filenames to its user. It is The Fl_File_Chooser widget transmits UTF-8 encoded filenames to its user. It is
recommended to open files that may have non-ASCII names with the fl_fopen() utility recommended to open files that may have non-ASCII names with the fl_fopen() or
function that handles these names in a cross-platform way (whereas the standard fl_open() utility functions that handle these names in a cross-platform way
fopen() function fails on the MSWindows platform to open files with a non-ASCII name). (whereas the standard fopen()/open() functions fail on the MSWindows platform
to open files with a non-ASCII name).
The Fl_File_Chooser class also exports several static values The Fl_File_Chooser class also exports several static values
that may be used to localize or customize the appearance of all file chooser that may be used to localize or customize the appearance of all file chooser

View File

@ -518,6 +518,15 @@ char *fl_getenv(const char* v)
#endif #endif
} }
/** Cross-platform function to open files with a UTF-8 encoded name.
This function is especially useful under the MSWindows platform where the
standard open() function fails with UTF-8 encoded non-ASCII filenames.
\param f the UTF-8 encoded filename
\param oflags other arguments are as in the standard open() function
\return a file descriptor upon successful completion, or -1 in case of error.
\sa fl_fopen().
*/
int fl_open(const char* f, int oflags, ...) int fl_open(const char* f, int oflags, ...)
{ {
int pmode; int pmode;
@ -548,6 +557,7 @@ int fl_open(const char* f, int oflags, ...)
\param f the UTF-8 encoded filename \param f the UTF-8 encoded filename
\param mode same as the second argument of the standard fopen() function \param mode same as the second argument of the standard fopen() function
\return a FILE pointer upon successful completion, or NULL in case of error. \return a FILE pointer upon successful completion, or NULL in case of error.
\sa fl_open().
*/ */
FILE *fl_fopen(const char* f, const char *mode) FILE *fl_fopen(const char* f, const char *mode)
{ {