summaryrefslogtreecommitdiffstats
path: root/toolkit/components/ctypes/tests/jsctypes-test-errno.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/ctypes/tests/jsctypes-test-errno.cpp')
-rw-r--r--toolkit/components/ctypes/tests/jsctypes-test-errno.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/toolkit/components/ctypes/tests/jsctypes-test-errno.cpp b/toolkit/components/ctypes/tests/jsctypes-test-errno.cpp
new file mode 100644
index 000000000..83a29e632
--- /dev/null
+++ b/toolkit/components/ctypes/tests/jsctypes-test-errno.cpp
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include <stdio.h>
+#include <errno.h>
+#if defined(XP_WIN)
+#include <windows.h>
+#endif // defined(XP_WIN)
+
+#include "jsctypes-test-errno.h"
+
+
+
+#define FAIL \
+{ \
+ fprintf(stderr, "Assertion failed at line %i\n", __LINE__); \
+ (*(int*)nullptr)++; \
+}
+
+
+void set_errno(int status)
+{
+ errno = status;
+}
+int get_errno()
+{
+ return errno;
+}
+
+#if defined(XP_WIN)
+void set_last_error(int status)
+{
+ SetLastError((int)status);
+}
+int get_last_error()
+{
+ return (int)GetLastError();
+}
+#endif // defined(XP_WIN)