qmicli,helpers: return PCS digit status in qmicli_read_parse_3gpp_mcc_mnc
diff --git a/src/qmicli/qmicli-helpers.c b/src/qmicli/qmicli-helpers.c
index 5fc043e..e44fec2 100644
--- a/src/qmicli/qmicli-helpers.c
+++ b/src/qmicli/qmicli-helpers.c
@@ -377,7 +377,8 @@
 static gboolean
 parse_3gpp_mcc_mnc (const gchar *str,
                     guint16 *out_mcc,
-                    guint16 *out_mnc)
+                    guint16 *out_mnc,
+                    gboolean *out_pcs_digit)
 {
     guint len;
     guint i;
@@ -405,6 +406,8 @@
     } else
         memcpy (&aux[0], &str[3], 3);
     *out_mnc = atoi (aux);
+    if (out_pcs_digit)
+        *out_pcs_digit = len == 6;
 
     return TRUE;
 }
@@ -426,7 +429,7 @@
     if (equals) {
         /* Parse MCC/MNC */
         *equals++ = '\0';
-        if (!parse_3gpp_mcc_mnc (equals, &mcc, &mnc)) {
+        if (!parse_3gpp_mcc_mnc (equals, &mcc, &mnc, NULL)) {
             g_free (copy);
             g_printerr ("error: invalid net selection MCC/MNC: '%s'\n", equals);
             return FALSE;
@@ -451,19 +454,23 @@
 gboolean
 qmicli_read_parse_3gpp_mcc_mnc (const gchar *str,
                                 guint16     *out_mcc,
-                                guint16     *out_mnc)
+                                guint16     *out_mnc,
+                                gboolean    *out_pcs_digit)
 {
     g_autofree gchar *copy = NULL;
     guint16 mcc = 0, mnc = 0;
+    gboolean pcs_digit = FALSE;
     
     copy = g_strdup (str);
-    if (!parse_3gpp_mcc_mnc (copy, &mcc, &mnc)) {
+    if (!parse_3gpp_mcc_mnc (copy, &mcc, &mnc, &pcs_digit)) {
         g_printerr ("error: invalid net selection MCC/MNC: '%s'\n", str);
         return FALSE;
     }
 
     *out_mcc = mcc;
     *out_mnc = mnc;
+    if (out_pcs_digit)
+        *out_pcs_digit = pcs_digit;
 
     return TRUE;
 }
diff --git a/src/qmicli/qmicli-helpers.h b/src/qmicli/qmicli-helpers.h
index 369a3c1..077047e 100644
--- a/src/qmicli/qmicli-helpers.h
+++ b/src/qmicli/qmicli-helpers.h
@@ -94,7 +94,8 @@
                                                               guint16 *out_network_mnc);
 gboolean qmicli_read_parse_3gpp_mcc_mnc                      (const gchar *str,
                                                               guint16     *out_mcc,
-                                                              guint16     *out_mnc);
+                                                              guint16     *out_mnc,
+                                                              gboolean    *out_pcs_digit);
 gboolean qmicli_read_enable_disable_from_string              (const gchar *str,
                                                               gboolean *out);
 gboolean qmicli_read_firmware_id_from_string                 (const gchar *str,
diff --git a/src/qmicli/qmicli-nas.c b/src/qmicli/qmicli-nas.c
index 4cf4262..70371e6 100644
--- a/src/qmicli/qmicli-nas.c
+++ b/src/qmicli/qmicli-nas.c
@@ -3439,7 +3439,7 @@
     guint16 mcc = 0;
     guint16 mnc = 0;
 
-    if (!qmicli_read_parse_3gpp_mcc_mnc (str, &mcc, &mnc)) {
+    if (!qmicli_read_parse_3gpp_mcc_mnc (str, &mcc, &mnc, NULL)) {
         g_printerr ("error: invalid net selection MCC/MNC: '%s'\n", str);
         return NULL;
     }