]> git.stg.codes - stg.git/blobdiff - projects/sgconf/actions.h
Beautified error notification.
[stg.git] / projects / sgconf / actions.h
index 886e17e2568619da73bcdaf31873c0698c93853a..c88de14dc7f5f306e5b0ee0421485a5945f5724f 100644 (file)
@@ -118,6 +118,10 @@ template <typename T>
 inline
 PARSER_STATE PARAM_ACTION<T>::Parse(int argc, char ** argv)
 {
+if (argc == 0 ||
+    argv == NULL ||
+    *argv == NULL)
+    throw ERROR("Missing argument.");
 T value;
 if (str2x(*argv, value))
     throw ERROR(std::string("Bad argument: '") + *argv + "'");
@@ -129,6 +133,10 @@ template <>
 inline
 PARSER_STATE PARAM_ACTION<std::string>::Parse(int argc, char ** argv)
 {
+if (argc == 0 ||
+    argv == NULL ||
+    *argv == NULL)
+    throw ERROR("Missing argument.");
 m_param = *argv;
 return PARSER_STATE(false, --argc, ++argv);
 }