+ a[i] = (int)strtol(n, NULL, base);
+ }
+ return true;
+}
+
+static bool parse_hostname(const string &s)
+{
+ const std::string::size_type str_len = s.size();
+ if(str_len > 63){
+ return false;
+ }
+ for (unsigned int i = 0; i < str_len; i++) {
+ const char c = s.at(i);
+ if(!(c >= 'a' && c <= 'z')
+ && !(c >= 'A' && c <= 'Z')
+ && !(i != 0 && c >= '0' && c <= '9')
+ && !(i != 0 && i != str_len - 1 && c == '-')){
+ return false;
+ }