blob: fda37895c962fffe8fde05482dc65654b2f70d00 [file] [log] [blame]
From 1c95f64aa342147387ce4b1b7269a5c8b34bd898 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 13 Jul 2017 09:01:04 -0700
Subject: [PATCH] pypredict/lm: Define error API if platform does not have it
error() API is not implemented across all libcs on linux
e.g. musl does not provide it.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Onboard/pypredict/lm/lm.cpp | 1 -
Onboard/pypredict/lm/lm.h | 13 +++++++++++++
Onboard/pypredict/lm/lm_dynamic.cpp | 2 --
3 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/Onboard/pypredict/lm/lm.cpp b/Onboard/pypredict/lm/lm.cpp
index 2e64296..37ae241 100644
--- a/Onboard/pypredict/lm/lm.cpp
+++ b/Onboard/pypredict/lm/lm.cpp
@@ -19,7 +19,6 @@
#include <stdlib.h>
#include <stdio.h>
-#include <error.h>
#include <algorithm>
#include <cmath>
#include <string>
diff --git a/Onboard/pypredict/lm/lm.h b/Onboard/pypredict/lm/lm.h
index ed4164a..b8b63ee 100644
--- a/Onboard/pypredict/lm/lm.h
+++ b/Onboard/pypredict/lm/lm.h
@@ -32,6 +32,19 @@
#include <algorithm>
#include <string>
+#if defined(HAVE_ERROR_H)
+#include <error.h>
+#else
+#include <err.h>
+#define _onboard_error(S, E, F, ...) do { \
+ if (E) \
+ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \
+ else \
+ err(S, F, ##__VA_ARGS__); \
+} while(0)
+
+#define error _onboard_error
+#endif
// break into debugger
// step twice to come back out of the raise() call into known code
diff --git a/Onboard/pypredict/lm/lm_dynamic.cpp b/Onboard/pypredict/lm/lm_dynamic.cpp
index 7c62824..e7c7f40 100644
--- a/Onboard/pypredict/lm/lm_dynamic.cpp
+++ b/Onboard/pypredict/lm/lm_dynamic.cpp
@@ -17,8 +17,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <error.h>
-
#include "lm_dynamic.h"
using namespace std;
--
2.13.2