summaryrefslogtreecommitdiff
path: root/lib9p
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@lukeshu.com>2024-12-10 02:12:39 -0700
committerLuke T. Shumaker <lukeshu@lukeshu.com>2024-12-10 02:26:12 -0700
commit22d27936b3d771a36b170b1f4b4ba58badbf3971 (patch)
tree4c1c0790b7b79e54e44dde00cf488d1620614846 /lib9p
parent7bc1e8049dbbf572a773d01547eb9b587b112061 (diff)
Get lib9p building on rp2040
Diffstat (limited to 'lib9p')
-rw-r--r--lib9p/9p.c7
-rw-r--r--lib9p/9p.generated.c3
-rwxr-xr-xlib9p/idl.gen3
-rw-r--r--lib9p/internal.h5
4 files changed, 15 insertions, 3 deletions
diff --git a/lib9p/9p.c b/lib9p/9p.c
index 5943b42..a3d81d0 100644
--- a/lib9p/9p.c
+++ b/lib9p/9p.c
@@ -65,8 +65,11 @@ int lib9p_errorf(struct lib9p_ctx *ctx, uint32_t linux_errno, char const *fmt, .
}
const char *lib9p_msg_type_str(struct lib9p_ctx *ctx, enum lib9p_msg_type typ) {
- assert(0 <= typ && typ <= 0xFF);
- return _lib9p_versions[ctx->version].msgs[typ].name;
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wtype-limits"
+ assert(0 <= typ && typ <= 0xFF);
+#pragma GCC diagnostic pop
+ return _lib9p_versions[ctx->version].msgs[typ].name;
}
/* main message functions *****************************************************/
diff --git a/lib9p/9p.generated.c b/lib9p/9p.generated.c
index f3a907b..badeb95 100644
--- a/lib9p/9p.generated.c
+++ b/lib9p/9p.generated.c
@@ -27,7 +27,10 @@ static const char *version_strs[LIB9P_VER_NUM] = {
};
const char *lib9p_version_str(enum lib9p_version ver) {
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wtype-limits"
assert(0 <= ver && ver < LIB9P_VER_NUM);
+#pragma GCC diagnostic pop
return version_strs[ver];
}
diff --git a/lib9p/idl.gen b/lib9p/idl.gen
index 262e5f0..cca83da 100755
--- a/lib9p/idl.gen
+++ b/lib9p/idl.gen
@@ -724,7 +724,10 @@ static const char *version_strs[{c_ver_enum('NUM')}] = {{
ret += "};\n"
ret += f"""
const char *{idprefix}version_str(enum {idprefix}version ver) {{
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wtype-limits"
assert(0 <= ver && ver < {c_ver_enum('NUM')});
+#pragma GCC diagnostic pop
return version_strs[ver];
}}
"""
diff --git a/lib9p/internal.h b/lib9p/internal.h
index 57f7aa7..07bb9d6 100644
--- a/lib9p/internal.h
+++ b/lib9p/internal.h
@@ -8,7 +8,10 @@
#define _LIB9P_INTERNAL_H_
#include <stddef.h> /* for size_t */
-#include <limits.h> /* for SSIZE_MAX */
+#include <limits.h> /* for SSIZE_MAX, not set by newlib */
+#ifndef SSIZE_MAX
+#define SSIZE_MAX (SIZE_MAX >> 1)
+#endif
#include <lib9p/9p.h>