summaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/errors.c3
-rw-r--r--src/utils/parserutilserror.h41
2 files changed, 44 insertions, 0 deletions
diff --git a/src/utils/errors.c b/src/utils/errors.c
index 7c6b5ea..cded6be 100644
--- a/src/utils/errors.c
+++ b/src/utils/errors.c
@@ -47,6 +47,9 @@ const char *hubbub_error_to_string(hubbub_error error)
case HUBBUB_NEEDDATA:
result = "Insufficient data";
break;
+ case HUBBUB_UNKNOWN:
+ result = "Unknown error";
+ break;
}
return result;
diff --git a/src/utils/parserutilserror.h b/src/utils/parserutilserror.h
new file mode 100644
index 0000000..3e05524
--- /dev/null
+++ b/src/utils/parserutilserror.h
@@ -0,0 +1,41 @@
+/*
+ * This file is part of Hubbub.
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2007 John-Mark Bell <jmb@netsurf-browser.org>
+ */
+
+#ifndef hubbub_utils_parserutilserror_h_
+#define hubbub_utils_parserutilserror_h_
+
+#include <parserutils/errors.h>
+
+#include <hubbub/errors.h>
+
+/**
+ * Convert a ParserUtils error into a LibCSS error
+ *
+ * \param error The ParserUtils error to convert
+ * \return The corresponding LibCSS error
+ */
+static inline hubbub_error hubbub_error_from_parserutils_error(
+ parserutils_error error)
+{
+ if (error == PARSERUTILS_OK)
+ return HUBBUB_OK;
+ else if (error == PARSERUTILS_NOMEM)
+ return HUBBUB_NOMEM;
+ else if (error == PARSERUTILS_BADPARM)
+ return HUBBUB_BADPARM;
+ else if (error == PARSERUTILS_INVALID)
+ return HUBBUB_INVALID;
+ else if (error == PARSERUTILS_FILENOTFOUND)
+ return HUBBUB_FILENOTFOUND;
+ else if (error == PARSERUTILS_NEEDDATA)
+ return HUBBUB_NEEDDATA;
+
+ return HUBBUB_UNKNOWN;
+}
+
+#endif
+