projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix header typo
[musl]
/
src
/
internal
/
stdio_impl.h
diff --git
a/src/internal/stdio_impl.h
b/src/internal/stdio_impl.h
index
76b58be
..
af7aacc
100644
(file)
--- a/
src/internal/stdio_impl.h
+++ b/
src/internal/stdio_impl.h
@@
-24,8
+24,8
@@
#define UNGET 8
#define UNGET 8
-#define FLOCK(f)
((libc.threads_minus_1 && (f)->lock>=0) ? (__lockfile((f)),0
) : 0)
-#define FUNLOCK(f)
((f)->lockcount && (--(f)->lockcount || ((f)->lock=0)))
+#define FLOCK(f)
int __need_unlock = ((f)->lock>=0 ? __lockfile((f)
) : 0)
+#define FUNLOCK(f)
if (__need_unlock) __unlockfile((f)); else
#define F_PERM 1
#define F_NORD 4
#define F_PERM 1
#define F_NORD 4
@@
-49,16
+49,18
@@
struct __FILE_s {
FILE *prev, *next;
int fd;
int pipe_pid;
FILE *prev, *next;
int fd;
int pipe_pid;
- long
dummy2
;
+ long
lockcount
;
short dummy3;
signed char mode;
signed char lbf;
int lock;
short dummy3;
signed char mode;
signed char lbf;
int lock;
- int
lockcount
;
+ int
waiters
;
void *cookie;
off_t off;
int (*flush)(FILE *);
void *mustbezero_2;
void *cookie;
off_t off;
int (*flush)(FILE *);
void *mustbezero_2;
+ unsigned char *shend;
+ off_t shlim, shcnt;
};
size_t __stdio_read(FILE *, unsigned char *, size_t);
};
size_t __stdio_read(FILE *, unsigned char *, size_t);
@@
-67,6
+69,8
@@
size_t __stdout_write(FILE *, const unsigned char *, size_t);
off_t __stdio_seek(FILE *, off_t, int);
int __stdio_close(FILE *);
off_t __stdio_seek(FILE *, off_t, int);
int __stdio_close(FILE *);
+size_t __string_read(FILE *, unsigned char *, size_t);
+
int __toread(FILE *);
int __towrite(FILE *);
int __toread(FILE *);
int __towrite(FILE *);
@@
-86,7
+90,6
@@
FILE *__fdopen(int, const char *);
#define OFLLOCK() LOCK(&libc.ofl_lock)
#define OFLUNLOCK() UNLOCK(&libc.ofl_lock)
#define OFLLOCK() LOCK(&libc.ofl_lock)
#define OFLUNLOCK() UNLOCK(&libc.ofl_lock)
-#define ofl_head (libc.ofl_head)
#define feof(f) ((f)->flags & F_EOF)
#define ferror(f) ((f)->flags & F_ERR)
#define feof(f) ((f)->flags & F_EOF)
#define ferror(f) ((f)->flags & F_ERR)