diff --git a/c/dadi_snmp.c b/c/dadi_snmp.c
index 898df99..94873b2 100644
--- a/c/dadi_snmp.c
+++ b/c/dadi_snmp.c
@@ -103,8 +103,8 @@ static int scalar_handler(netsnmp_mib_handler *handler,
 		switch (reqinfo->mode) {
 		case MODE_GET:
 		{
-			intptr_t integer_value;
-			uintptr_t uinteger_value;
+			int integer_value;
+			unsigned uinteger_value;
 			uint64_t u64_value;
 			struct counter64 c64;
 			void *value = NULL;
@@ -112,12 +112,12 @@ static int scalar_handler(netsnmp_mib_handler *handler,
 			dadi_evt(var->varno, DADI_EVENT_TYPE_GET);
 			switch (var->type) {
 			case DADI_INT:
-				integer_value = (intptr_t)var->get();
+				integer_value = (int)var->get();
 				value = &integer_value;
 				break;
 			case DADI_UINT:
 			case DADI_COUNTER:
-				uinteger_value = (uintptr_t)var->get();
+				uinteger_value = (unsigned)var->get();
 				value = &uinteger_value;
 				break;
 			case DADI_UINT64:
diff --git a/c/dadi_snmp_tables.c b/c/dadi_snmp_tables.c
index 49aeca3..b009e3e 100644
--- a/c/dadi_snmp_tables.c
+++ b/c/dadi_snmp_tables.c
@@ -117,8 +117,8 @@ snmp_dadi_handler(netsnmp_mib_handler *handler,
 		switch (reqinfo->mode) {
 		case MODE_GET:
 		{
-			intptr_t integer_value;
-			uintptr_t uinteger_value;
+			int integer_value;
+			unsigned uinteger_value;
 			uint64_t u64_value;
 			struct counter64 c64;
 			void *value = NULL;
@@ -126,12 +126,12 @@ snmp_dadi_handler(netsnmp_mib_handler *handler,
 			dadi_evt(var->varno, DADI_EVENT_TYPE_GET);
 			switch (var->type) {
 			case DADI_INT:
-				integer_value = (intptr_t)var->get_index(dadi_row->index);
+				integer_value = (int)var->get_index(dadi_row->index);
 				value = &integer_value;
 				break;
 			case DADI_UINT:
 			case DADI_COUNTER:
-				uinteger_value = (uintptr_t)var->get_index(dadi_row->index);
+				uinteger_value = (unsigned)var->get_index(dadi_row->index);
 				value = &uinteger_value;
 				break;
 			case DADI_UINT64:
