68 lines
1.8 KiB
Diff
68 lines
1.8 KiB
Diff
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
|
|
|