Commit Diff


commit - a80e33d2dae5ed84da5739d99dc30a0b51e5d085
commit + aeac3de6549f57ca2af215c217749aa9b2adc95f
blob - de25098e1b20ea90dda6c74b28f7fc86796be96a
blob + ad1cc02a1083a3051e7c996d19f47e42f23bc8fb
--- FICS/settings.cpp
+++ FICS/settings.cpp
@@ -113,6 +113,20 @@ check_some_settings_strictly(void)
 }
 
 bool
+is_numeric(const char *string)
+{
+	if (string == nullptr || *string == '\0')
+		return false;
+
+	for (const char *cp = &string[0]; *cp != '\0'; cp++) {
+		if (!isdigit(*cp))
+			return false;
+	}
+
+	return true;
+}
+
+bool
 is_valid_hostname(const char *p_str, err_reason_t *p_reason)
 {
 	const char	legal_index[] =
blob - 4b1f15e36f690caf2fd28b7ca5f95cfe582ef2b4
blob + b5aad98b49ecf2e3df828c3c5ffe335df7801718
--- FICS/settings.h
+++ FICS/settings.h
@@ -14,6 +14,7 @@ void		 settings_init(void);
 void		 settings_deinit(void);
 
 void		 check_some_settings_strictly(void);
+bool		 is_numeric(const char *);
 bool		 is_valid_hostname(const char *, err_reason_t *);
 bool		 is_valid_username(const char *, err_reason_t *);
 const char	*settings_get(const char *set_name);