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 *****************************************************************************/
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))
33 # define _getc_nolock(s) getc(s)
35 # define _putc_nolock(s,c) putc(s,c)
38 void flockfile (FILE *stream
)
43 int ftrylockfile (FILE *stream
)
45 flockfile (stream
); /* Move along people, there is nothing to see here. */
49 void funlockfile (FILE *stream
)
51 _unlock_file (stream
);
54 int getc_unlocked (FILE *stream
)
56 return _getc_nolock (stream
);
59 int putc_unlocked (int c
, FILE *stream
)
61 return _putc_nolock (c
, stream
);
65 # error flockfile not implemented on your platform!
68 int getchar_unlocked (void)
70 return getc_unlocked (stdin
);
73 int putchar_unlocked (int c
)
75 return putc_unlocked (c
, stdout
);