]> git.sesse.net Git - vlc/commitdiff
utf8_open: make third parameter optional
authorRémi Denis-Courmont <remi@remlab.net>
Sat, 15 Aug 2009 18:21:44 +0000 (21:21 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Sat, 15 Aug 2009 18:21:44 +0000 (21:21 +0300)
include/vlc_charset.h
src/text/filesystem.c

index b8a9d4e7b56f0ccb1a653e107a38735b97d4f396..ab6d5299a67ed9f06256accd10bc94ff6b1d4c77 100644 (file)
@@ -41,7 +41,7 @@ VLC_EXPORT( char *, ToLocale, ( const char * ) LIBVLC_USED );
 VLC_EXPORT( char *, ToLocaleDup, ( const char * ) LIBVLC_USED );
 
 /* TODO: move all of this to "vlc_fs.h" or something like that */
-VLC_EXPORT( int, utf8_open, ( const char *filename, int flags, mode_t mode ) LIBVLC_USED );
+VLC_EXPORT( int, utf8_open, ( const char *filename, int flags, ... ) LIBVLC_USED );
 VLC_EXPORT( FILE *, utf8_fopen, ( const char *filename, const char *mode ) LIBVLC_USED );
 VLC_EXPORT( DIR *, utf8_opendir, ( const char *dirname ) LIBVLC_USED );
 VLC_EXPORT( char *, utf8_readdir, ( DIR *dir ) LIBVLC_USED );
index cb3dc3d261a2011eddb90f08d16330a2898d06f8..6bec646b46bc891f03a9d0614706843b0e80764a 100644 (file)
@@ -85,11 +85,20 @@ static int convert_path (const char *restrict path, wchar_t *restrict wpath)
  *
  * @param filename file path to open (with UTF-8 encoding)
  * @param flags open() flags, see the C library open() documentation
- * @param mode file permissions if creating a new file
  * @return a file handle on success, -1 on error (see errno).
+ * @note Contrary to standard open(), this function returns file handles
+ * with the close-on-exec flag enabled.
  */
-int utf8_open (const char *filename, int flags, mode_t mode)
+int utf8_open (const char *filename, int flags, ...)
 {
+    mode_t mode = 0;
+    va_list ap;
+
+    va_start (ap, flags);
+    if (flags & O_CREAT)
+        mode = va_arg (ap, mode_t);
+    va_end (ap);
+
 #ifdef UNDER_CE
     /*_open translates to wchar internally on WinCE*/
     return _open (filename, flags, mode);