]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/fifo_defs.h
ncurses 5.9 - patch 20131012
[ncurses.git] / ncurses / fifo_defs.h
index 9655b417d6e73ccc20eb77fe5f6fbf4a141492e4..c0c795a81634391918876001d60e5fcde4c5edc0 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998,2002 Free Software Foundation, Inc.                   *
+ * Copyright (c) 1998-2008,2012 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -34,7 +34,7 @@
 /*
  * Common macros for lib_getch.c, lib_ungetch.c
  *
- * $Id: fifo_defs.h,v 1.5 2008/05/03 20:08:16 tom Exp $
+ * $Id: fifo_defs.h,v 1.7 2012/08/04 15:59:17 tom Exp $
  */
 
 #ifndef FIFO_DEFS_H
 /* peek points to next uninterpreted character */
 #define peek   sp->_fifopeek
 
-#define h_inc() { head == FIFO_SIZE-1 ? head = 0 : head++; if (head == tail) head = -1, tail = 0;}
-#define h_dec() { head == 0 ? head = FIFO_SIZE-1 : head--; if (head == tail) tail = -1;}
-#define t_inc() { tail == FIFO_SIZE-1 ? tail = 0 : tail++; if (tail == head) tail = -1;}
-#define t_dec() { tail == 0 ? tail = FIFO_SIZE-1 : tail--; if (head == tail) fifo_clear(sp);}
-#define p_inc() { peek == FIFO_SIZE-1 ? peek = 0 : peek++;}
+#define h_inc() { \
+           (head >= FIFO_SIZE-1) \
+               ? head = 0 \
+               : head++; \
+           if (head == tail) \
+               head = -1, tail = 0; \
+       }
+#define h_dec() { \
+           (head <= 0) \
+               ? head = FIFO_SIZE-1 \
+               : head--; \
+           if (head == tail) \
+               tail = -1; \
+       }
+#define t_inc() { \
+           (tail >= FIFO_SIZE-1) \
+               ? tail = 0 \
+               : tail++; \
+           if (tail == head) \
+               tail = -1; \
+           }
+#define t_dec() { \
+           (tail <= 0) \
+               ? tail = FIFO_SIZE-1 \
+               : tail--; \
+           if (head == tail) \
+               fifo_clear(sp); \
+           }
+#define p_inc() { \
+           (peek >= FIFO_SIZE-1) \
+               ? peek = 0 \
+               : peek++; \
+           }
 
-#define cooked_key_in_fifo()   ((head != -1) && (peek != head))
-#define raw_key_in_fifo()      ((head != -1) && (peek != tail))
+#define cooked_key_in_fifo()   ((head >= 0) && (peek != head))
+#define raw_key_in_fifo()      ((head >= 0) && (peek != tail))
 
 #undef HIDE_EINTR