summaryrefslogtreecommitdiff
path: root/src/misc/getopt.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2018-09-10 23:04:42 -0400
committerRich Felker <dalias@aerifal.cx>2018-09-12 14:34:33 -0400
commitcf7db2427f99d784f3d27a4036c1abf41c61db87 (patch)
tree6e8deaa6c1e28dd8ab3615d9de4aa316e7b7dd3b /src/misc/getopt.c
parent7ab1578d05f5d6790e218867158a28d9147419ec (diff)
downloadmusl-cf7db2427f99d784f3d27a4036c1abf41c61db87.tar.gz
use lighter internal stdio lock in getopt error printing
the public flockfile interface is significantly heavier because it has to handle the possibility of caller returning or thread exiting while holding the lock.
Diffstat (limited to 'src/misc/getopt.c')
-rw-r--r--src/misc/getopt.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/misc/getopt.c b/src/misc/getopt.c
index cd1f292f..7d7b1167 100644
--- a/src/misc/getopt.c
+++ b/src/misc/getopt.c
@@ -5,6 +5,7 @@
#include <stdlib.h>
#include "libc.h"
#include "locale_impl.h"
+#include "stdio_impl.h"
char *optarg;
int optind=1, opterr=1, optopt, __optpos, __optreset=0;
@@ -16,12 +17,12 @@ void __getopt_msg(const char *a, const char *b, const char *c, size_t l)
{
FILE *f = stderr;
b = __lctrans_cur(b);
- flockfile(f);
+ FLOCK(f);
fputs(a, f)>=0
&& fwrite(b, strlen(b), 1, f)
&& fwrite(c, 1, l, f)==l
&& putc('\n', f);
- funlockfile(f);
+ FUNLOCK(f);
}
int getopt(int argc, char * const argv[], const char *optstring)