chiark / gitweb /
core: introduce parse_ip_port (#4825)
[elogind.git] / src / basic / parse-util.c
index b1cad55e7c1915090ff5f980f3d2ebe8677bdee6..2daa797a5025dc888f8f764d589944e905498f12 100644 (file)
@@ -582,3 +582,19 @@ int parse_nice(const char *p, int *ret) {
         return 0;
 }
 #endif // 0
+
+int parse_ip_port(const char *s, uint16_t *ret) {
+        uint16_t l;
+        int r;
+
+        r = safe_atou16(s, &l);
+        if (r < 0)
+                return r;
+
+        if (l == 0)
+                return -EINVAL;
+
+        *ret = (uint16_t) l;
+
+        return 0;
+}