flockfile stub
authorRémi Denis-Courmont <remi@remlab.net>
Wed, 11 May 2011 16:01:07 +0000 (19:01 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Wed, 11 May 2011 16:41:50 +0000 (19:41 +0300)
compat/flockfile.c [new file with mode: 0644]
configure.ac
include/vlc_fixups.h

diff --git a/compat/flockfile.c b/compat/flockfile.c
new file mode 100644 (file)
index 0000000..ebc2854
--- /dev/null
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * flockfile.c: POSIX unlocked I/O stream stubs
+ *****************************************************************************
+ * Copyright © 2011 Rémi Denis-Courmont
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+
+/* There is no way to implement this for real. We just pretend it works and
+ * hope for the best (especially when outputting to stderr). */
+
+void flockfile (FILE *stream)
+{
+    (void) stream;
+}
+
+int ftrylockfile (FILE *stream)
+{
+    (void) stream;
+    return 0;
+}
+
+void funlockfile (FILE *stream)
+{
+    (void) stream;
+}
+
+int getc_unlocked (FILE *stream)
+{
+    return getc (stream);
+}
+
+int getchar_unlocked (void)
+{
+    return getchar ();
+}
+
+int putc_unlocked (int c, FILE *stream)
+{
+    return putc (c, stream);
+}
+
+int putchar_unlocked (int c)
+{
+    return putchar (c);
+}
index 5ea921b..06f1972 100644 (file)
@@ -551,7 +551,7 @@ need_libc=false
 
 dnl Check for usual libc functions
 AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday isatty lstat memalign mmap openat pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp uselocale])
-AC_REPLACE_FUNCS([asprintf atof atoll dirfd getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf])
+AC_REPLACE_FUNCS([asprintf atof atoll dirfd flockfile getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf])
 AC_CHECK_FUNCS(fdatasync,,
   [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
 ])
index 1e4336c..63fcb20 100644 (file)
@@ -78,6 +78,16 @@ extern "C" {
 int asprintf (char **, const char *, ...);
 #endif
 
+#ifndef HAVE_FLOCKFILE
+void flockfile (FILE *);
+int ftrylockfile (FILE *);
+void funlockfile (FILE *);
+int getc_unlocked (FILE *);
+int getchar_unlocked (void);
+int putc_unlocked (int, FILE *);
+int putchar_unlocked (int);
+#endif
+
 #ifndef HAVE_GETDELIM
 ssize_t getdelim (char **, size_t *, int, FILE *);
 ssize_t getline (char **, size_t *, FILE *);