summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog1
-rw-r--r--sshbuf.c10
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 6f8deb43..3d8b9af0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -139,6 +139,7 @@
[regress/unittests/test_helper/fuzz.c]
[regress/unittests/test_helper/test_helper.c]
Hook new unit tests into the build and "make tests"
+ - (djm) [sshbuf.c] need __predict_false
20140430
- (dtucker) [defines.h] Define __GNUC_PREREQ__ macro if we don't already
diff --git a/sshbuf.c b/sshbuf.c
index 36a8b92f..7f7b9f1d 100644
--- a/sshbuf.c
+++ b/sshbuf.c
@@ -28,6 +28,16 @@
#include "ssherr.h"
#include "sshbuf.h"
+/* XXX move to defines.h? */
+#if defined(__GNUC__) && \
+ ((__GNUC__ > (2)) || (__GNUC__ == (2) && __GNUC_MINOR__ >= (96)))
+#define __predict_true(exp) __builtin_expect(((exp) != 0), 1)
+#define __predict_false(exp) __builtin_expect(((exp) != 0), 0)
+#else
+#define __predict_true(exp) ((exp) != 0)
+#define __predict_false(exp) ((exp) != 0)
+#endif
+
static inline int
sshbuf_check_sanity(const struct sshbuf *buf)
{