mmdevice: fix restart when switching from 0 to 1 device
[vlc.git] / compat / flockfile.c
blob1db85a23a13df78a5c50ab6affb85a200af7f202
1 /*****************************************************************************
2 * flockfile.c: POSIX unlocked I/O stream stubs
3 *****************************************************************************
4 * Copyright © 2011-2012 Rémi Denis-Courmont
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU Lesser General Public License as published by
8 * the Free Software Foundation; either version 2.1 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with this program; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
19 *****************************************************************************/
21 #ifdef HAVE_CONFIG_H
22 # include <config.h>
23 #endif
25 #include <stdio.h>
27 #ifdef _WIN32
28 # ifndef HAVE__LOCK_FILE
29 # warning Broken SDK: VLC logs will be garbage.
30 # define _lock_file(s) ((void)(s))
31 # define _unlock_file(s) ((void)(s))
32 # undef _getc_nolock
33 # define _getc_nolock(s) getc(s)
34 # undef _putc_nolock
35 # define _putc_nolock(s,c) putc(s,c)
36 # endif
38 void flockfile (FILE *stream)
40 _lock_file (stream);
43 void funlockfile (FILE *stream)
45 _unlock_file (stream);
48 int getc_unlocked (FILE *stream)
50 return _getc_nolock (stream);
53 int putc_unlocked (int c, FILE *stream)
55 return _putc_nolock (c, stream);
58 #elif defined __native_client__
59 void flockfile (FILE *stream)
61 _flockfile(stream);
64 void funlockfile (FILE *stream)
66 _funlockfile(stream);
68 #else
69 # error flockfile not implemented on your platform!
70 #endif
72 int getchar_unlocked (void)
74 return getc_unlocked (stdin);
77 int putchar_unlocked (int c)
79 return putc_unlocked (c, stdout);