ussd: Work with uint16_t for the length

Work with uint16_t for the length all the way.
diff --git a/src/gsm0480.c b/src/gsm0480.c
index 3625788..45a6fbe 100644
--- a/src/gsm0480.c
+++ b/src/gsm0480.c
@@ -196,11 +196,11 @@
 		      uint16_t len, struct ussd_request *req);
 static int parse_ussd_info_elements(const uint8_t *ussd_ie, uint16_t len,
 					struct ussd_request *req);
-static int parse_facility_ie(const uint8_t *facility_ie, uint8_t length,
+static int parse_facility_ie(const uint8_t *facility_ie, uint16_t length,
 					struct ussd_request *req);
-static int parse_ss_invoke(const uint8_t *invoke_data, uint8_t length,
+static int parse_ss_invoke(const uint8_t *invoke_data, uint16_t length,
 					struct ussd_request *req);
-static int parse_process_uss_req(const uint8_t *uss_req_data, uint8_t length,
+static int parse_process_uss_req(const uint8_t *uss_req_data, uint16_t length,
 					struct ussd_request *req);
 
 /* Decode a mobile-originated USSD-request message */
@@ -283,7 +283,7 @@
 	return rc;
 }
 
-static int parse_facility_ie(const uint8_t *facility_ie, uint8_t length,
+static int parse_facility_ie(const uint8_t *facility_ie, uint16_t length,
 						struct ussd_request *req)
 {
 	int rc = 1;
@@ -319,7 +319,7 @@
 }
 
 /* Parse an Invoke component - see table 3.3 */
-static int parse_ss_invoke(const uint8_t *invoke_data, uint8_t length,
+static int parse_ss_invoke(const uint8_t *invoke_data, uint16_t length,
 						struct ussd_request *req)
 {
 	int rc = 1;
@@ -364,7 +364,7 @@
 }
 
 /* Parse the parameters of a Process UnstructuredSS Request */
-static int parse_process_uss_req(const uint8_t *uss_req_data, uint8_t length,
+static int parse_process_uss_req(const uint8_t *uss_req_data, uint16_t length,
 					struct ussd_request *req)
 {
 	int rc = 0;