refactor adjtime function using adjtimex function instead of syscall
[musl] / src / internal / stdio_impl.h
index 4afb7ea..d7398f5 100644 (file)
@@ -34,11 +34,9 @@ struct _IO_FILE {
        int fd;
        int pipe_pid;
        long lockcount;
-       short dummy3;
-       signed char mode;
-       signed char lbf;
+       int mode;
        volatile int lock;
-       volatile int waiters;
+       int lbf;
        void *cookie;
        off_t off;
        char *getln_buf;
@@ -94,17 +92,20 @@ hidden void __register_locked_file(FILE *, struct __pthread *);
 hidden void __unlist_locked_file(FILE *);
 hidden void __do_orphaned_stdio_locks(void);
 
+#define MAYBE_WAITERS 0x40000000
+
 hidden void __getopt_msg(const char *, const char *, const char *, size_t);
 
 #define feof(f) ((f)->flags & F_EOF)
 #define ferror(f) ((f)->flags & F_ERR)
 
 #define getc_unlocked(f) \
-       ( ((f)->rpos < (f)->rend) ? *(f)->rpos++ : __uflow((f)) )
+       ( ((f)->rpos != (f)->rend) ? *(f)->rpos++ : __uflow((f)) )
 
 #define putc_unlocked(c, f) \
-       ( ((unsigned char)(c)!=(f)->lbf && (f)->wpos<(f)->wend) \
-       ? *(f)->wpos++ = (c) : __overflow((f),(c)) )
+       ( (((unsigned char)(c)!=(f)->lbf && (f)->wpos!=(f)->wend)) \
+       ? *(f)->wpos++ = (unsigned char)(c) \
+       : __overflow((f),(unsigned char)(c)) )
 
 /* Caller-allocated FILE * operations */
 hidden FILE *__fopen_rb_ca(const char *, FILE *, unsigned char *, size_t);