the actual config file code (not just config files)

this was missing from commit a08a9acdb6bff0ee4fdf0f58b78b6525017a1f9f
diff --git a/openbsc/src/gsm_data.c b/openbsc/src/gsm_data.c
index 370c410..edf1b3d 100644
--- a/openbsc/src/gsm_data.c
+++ b/openbsc/src/gsm_data.c
@@ -23,6 +23,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <errno.h>
+#include <ctype.h>
 
 #include <openbsc/gsm_data.h>
 #include <openbsc/talloc.h>
@@ -295,9 +296,15 @@
 	return "invalid";
 }
 
-enum gsm_band gsm_band_parse(int mhz)
+enum gsm_band gsm_band_parse(const char* mhz)
 {
-	switch (mhz) {
+	while (*mhz && !isdigit(*mhz))
+		mhz++;
+
+	if (*mhz == '\0')
+		return -EINVAL;
+
+	switch (atoi(mhz)) {
 	case 400:
 		return GSM_BAND_400;
 	case 850: