+ ifport->gsm_ms = 1;
+
+ /* copy values */
+ element = strsep(&value, " ");
+ if (!element || !element[0]) {
+ SPRINT(interface_error, "Error in %s (line %d): Missing MS name and socket name.\n", filename, line);
+ return(-1);
+ }
+ SCPY(ifport->gsm_ms_name, element);
+ element = strsep(&value, " ");
+ if (!element || !element[0]) {
+ SPRINT(interface_error, "Error in %s (line %d): Missing socket name after MS name.\n", filename, line);
+ return(-1);
+ }
+ SCPY(ifport->gsm_ms_socket, element);
+
+ /* check if socket is used multiple times */
+ searchif = interface_newlist;
+ while(searchif) {
+ searchifport = searchif->ifport;
+ while(searchifport) {
+ if (searchifport != ifport
+ && !strcmp(searchifport->gsm_ms_socket, ifport->gsm_ms_socket)) {
+ SPRINT(interface_error, "Error in %s (line %d): mobile '%s' already uses the given socket '%s', choose a different one.\n", filename, line, ifport->gsm_ms_name, searchifport->gsm_ms_socket);
+ return(-1);
+ }
+ searchifport = searchifport->next;
+ }
+ searchif = searchif->next;
+ }
+