1diff -ur a/decoder.c b/decoder.c
2--- a/decoder.c 1980-01-02 00:00:00.000000000 -0500
3+++ b/decoder.c 2023-11-08 17:42:43.981838074 -0500
4@@ -94,7 +94,7 @@
5 return PlaceObject(ctx, PyBool_FromLong((long)(value)));
6 }
7
8-static int handle_number(void *ctx, const char *value, unsigned int length)
9+static int handle_number(void *ctx, const char *value, size_t length)
10 {
11 //fprintf(stderr, "handle_number: ");
12 //fwrite(value, length, 1, stderr);
13@@ -127,7 +127,7 @@
14 return status;
15 }
16
17-static int handle_string(void *ctx, const unsigned char *value, unsigned int length)
18+static int handle_string(void *ctx, const unsigned char *value, size_t length)
19 {
20 return PlaceObject(ctx, PyString_FromStringAndSize((char *)value, length));
21 }
22@@ -142,7 +142,7 @@
23 return success;
24 }
25
26-static int handle_dict_key(void *ctx, const unsigned char *value, unsigned int length)
27+static int handle_dict_key(void *ctx, const unsigned char *value, size_t length)
28 {
29 PyObject *object = PyString_FromStringAndSize((const char *) value, length);
30
31diff -ur a/yajl.c b/yajl.c
32--- a/yajl.c 1980-01-02 00:00:00.000000000 -0500
33+++ b/yajl.c 2023-11-08 17:41:18.781350335 -0500
34@@ -161,7 +161,7 @@
35 }
36
37 static struct PyMethodDef yajl_methods[] = {
38- {"dumps", (PyCFunctionWithKeywords)(py_dumps), METH_VARARGS | METH_KEYWORDS,
39+ {"dumps", (PyCFunction)(py_dumps), METH_VARARGS | METH_KEYWORDS,
40 "yajl.dumps(obj [, indent=None])\n\n\
41 Returns an encoded JSON string of the specified `obj`\n\
42 \n\