]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
cmdparse: remove CPS_Status
authorMiroslav Lichvar <mlichvar@redhat.com>
Mon, 27 Jun 2016 11:38:55 +0000 (13:38 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Mon, 27 Jun 2016 12:52:55 +0000 (14:52 +0200)
Remove command and option specific error codes. Return zero on any
failure.

client.c
cmdparse.c
cmdparse.h
conf.c

index b00fc77dfc46d21ec3fda0ecca7a6b175b9b319d..2dbdf7bf4355a4faea429d617b4e4cbb4c196505 100644 (file)
--- a/client.c
+++ b/client.c
@@ -1058,14 +1058,15 @@ static int
 process_cmd_add_server_or_peer(CMD_Request *msg, char *line)
 {
   CPS_NTP_Source data;
-  CPS_Status status;
   IPAddr ip_addr;
-  char str[64];
-  int result = 0;
+  int result = 0, status;
   
   status = CPS_ParseNTPSourceAdd(line, &data);
   switch (status) {
-    case CPS_Success:
+    case 0:
+      LOG(LOGS_ERR, LOGF_Client, "Invalid syntax for add command");
+      break;
+    default:
       if (DNS_Name2IPAddress(data.name, &ip_addr, 1) != DNS_Success) {
         LOG(LOGS_ERR, LOGF_Client, "Invalid host/IP address");
         break;
@@ -1124,10 +1125,6 @@ process_cmd_add_server_or_peer(CMD_Request *msg, char *line)
           (data.params.sel_options & SRC_SELECT_REQUIRE ? REQ_ADDSRC_REQUIRE : 0));
       result = 1;
 
-      break;
-    default:
-      CPS_StatusToString(status, str, sizeof (str));
-      LOG(LOGS_ERR, LOGF_Client, "%s", str);
       break;
   }
 
index 66ffc0c1e3697ba34d318376acc101c06e114a5e..e358b444220d2e8bbc21b0f68f62100cbe49e6c9 100644 (file)
@@ -39,7 +39,7 @@
 
 /* ================================================== */
 
-CPS_Status
+int
 CPS_ParseNTPSourceAdd(char *line, CPS_NTP_Source *src)
 {
   char *hostname, *cmd;
@@ -68,7 +68,7 @@ CPS_ParseNTPSourceAdd(char *line, CPS_NTP_Source *src)
   line = CPS_SplitWord(line);
 
   if (!*hostname)
-    return CPS_BadHost;
+    return 0;
 
   src->name = hostname;
 
@@ -95,52 +95,52 @@ CPS_ParseNTPSourceAdd(char *line, CPS_NTP_Source *src)
     } else if (!strcasecmp(cmd, "key")) {
       if (sscanf(line, "%"SCNu32"%n", &src->params.authkey, &n) != 1 ||
           src->params.authkey == INACTIVE_AUTHKEY)
-        return CPS_BadKey;
+        return 0;
     } else if (!strcasecmp(cmd, "maxdelay")) {
       if (sscanf(line, "%lf%n", &src->params.max_delay, &n) != 1)
-        return CPS_BadMaxdelay;
+        return 0;
     } else if (!strcasecmp(cmd, "maxdelayratio")) {
       if (sscanf(line, "%lf%n", &src->params.max_delay_ratio, &n) != 1)
-        return CPS_BadMaxdelayratio;
+        return 0;
     } else if (!strcasecmp(cmd, "maxdelaydevratio")) {
       if (sscanf(line, "%lf%n", &src->params.max_delay_dev_ratio, &n) != 1)
-        return CPS_BadMaxdelaydevratio;
+        return 0;
     } else if (!strcasecmp(cmd, "maxpoll")) {
       if (sscanf(line, "%d%n", &src->params.maxpoll, &n) != 1)
-        return CPS_BadMaxpoll;
+        return 0;
     } else if (!strcasecmp(cmd, "maxsamples")) {
       if (sscanf(line, "%d%n", &src->params.max_samples, &n) != 1)
-        return CPS_BadMaxsamples;
+        return 0;
     } else if (!strcasecmp(cmd, "maxsources")) {
       if (sscanf(line, "%d%n", &src->params.max_sources, &n) != 1)
-        return CPS_BadMaxsources;
+        return 0;
     } else if (!strcasecmp(cmd, "minpoll")) {
       if (sscanf(line, "%d%n", &src->params.minpoll, &n) != 1)
-        return CPS_BadMinpoll;
+        return 0;
     } else if (!strcasecmp(cmd, "minsamples")) {
       if (sscanf(line, "%d%n", &src->params.min_samples, &n) != 1)
-        return CPS_BadMinsamples;
+        return 0;
     } else if (!strcasecmp(cmd, "minstratum")) {
       if (sscanf(line, "%d%n", &src->params.min_stratum, &n) != 1)
-        return CPS_BadMinstratum;
+        return 0;
     } else if (!strcasecmp(cmd, "port")) {
       if (sscanf(line, "%hu%n", &src->port, &n) != 1)
-        return CPS_BadPort;
+        return 0;
     } else if (!strcasecmp(cmd, "polltarget")) {
       if (sscanf(line, "%d%n", &src->params.poll_target, &n) != 1)
-        return CPS_BadPolltarget;
+        return 0;
     } else if (!strcasecmp(cmd, "presend")) {
       if (sscanf(line, "%d%n", &src->params.presend_minpoll, &n) != 1)
-        return CPS_BadPresend;
+        return 0;
     } else if (!strcasecmp(cmd, "version")) {
       if (sscanf(line, "%d%n", &src->params.version, &n) != 1)
-        return CPS_BadVersion;
+        return 0;
     } else {
-      return CPS_BadOption;
+      return 0;
     }
   }
 
-  return CPS_Success;
+  return 1;
 }
 
 /* ================================================== */
@@ -178,71 +178,6 @@ CPS_ParseLocal(char *line, int *stratum, int *orphan, double *distance)
 
   return 1;
 }
-/* ================================================== */
-
-void
-CPS_StatusToString(CPS_Status status, char *dest, int len)
-{
-  const char *s = NULL;
-
-  if (len > 0)
-    dest[0] = '\0';
-
-  switch (status) {
-    case CPS_Success:
-      return;
-    case CPS_BadOption:
-      s = "server/peer/pool option";
-      break;
-    case CPS_BadHost:
-      s = "address";
-      break;
-    case CPS_BadPort:
-      s = "port";
-      break;
-    case CPS_BadMinpoll:
-      s = "minpoll";
-      break;
-    case CPS_BadMaxpoll:
-      s = "maxpoll";
-      break;
-    case CPS_BadPresend:
-      s = "presend";
-      break;
-    case CPS_BadMaxdelaydevratio:
-      s = "maxdelaydevratio";
-      break;
-    case CPS_BadMaxdelayratio:
-      s = "maxdelayratio";
-      break;
-    case CPS_BadMaxdelay:
-      s = "maxdelay";
-      break;
-    case CPS_BadKey:
-      s = "key";
-      break;
-    case CPS_BadMinstratum:
-      s = "minstratum";
-      break;
-    case CPS_BadPolltarget:
-      s = "polltarget";
-      break;
-    case CPS_BadVersion:
-      s = "version";
-      break;
-    case CPS_BadMaxsources:
-      s = "maxsources";
-      break;
-    case CPS_BadMinsamples:
-      s = "minsamples";
-      break;
-    case CPS_BadMaxsamples:
-      s = "maxsamples";
-      break;
-  }
-
-  snprintf(dest, len, "Invalid %s", s);
-}
 
 /* ================================================== */
 
index a61fdc23ff902489e2bec82138548193c88bdf85..19f4bb7548cd5bd0854fa97d2cd6a44cf86a6555 100644 (file)
 #include "srcparams.h"
 #include "addressing.h"
 
-typedef enum {
-  CPS_Success,
-  CPS_BadOption,
-  CPS_BadHost,
-  CPS_BadPort,
-  CPS_BadMinpoll,
-  CPS_BadMaxpoll,
-  CPS_BadPresend,
-  CPS_BadMaxdelaydevratio,
-  CPS_BadMaxdelayratio,
-  CPS_BadMaxdelay,
-  CPS_BadKey,
-  CPS_BadMinstratum,
-  CPS_BadPolltarget,
-  CPS_BadVersion,
-  CPS_BadMaxsources,
-  CPS_BadMinsamples,
-  CPS_BadMaxsamples,
-} CPS_Status;
-
 typedef struct {
   char *name;
   unsigned short port;
@@ -57,14 +37,11 @@ typedef struct {
 } CPS_NTP_Source;
 
 /* Parse a command to add an NTP server or peer */
-extern CPS_Status CPS_ParseNTPSourceAdd(char *line, CPS_NTP_Source *src);
+extern int CPS_ParseNTPSourceAdd(char *line, CPS_NTP_Source *src);
   
 /* Parse a command to enable local reference */
 extern int CPS_ParseLocal(char *line, int *stratum, int *orphan, double *distance);
 
-/* Get a string describing error status */
-extern void CPS_StatusToString(CPS_Status status, char *dest, int len);
-
 /* Remove extra white-space and comments */
 extern void CPS_NormalizeLine(char *line);
 
diff --git a/conf.c b/conf.c
index 94f4ee1dba91aa95606d55a23a9bee084f44f37a..5afd6b1eef1d0866e1260fc4ad4a5c5e6fbded03 100644 (file)
--- a/conf.c
+++ b/conf.c
@@ -604,17 +604,13 @@ parse_null(char *line)
 static void
 parse_source(char *line, NTP_Source_Type type, int pool)
 {
-  CPS_Status status;
   NTP_Source source;
-  char str[64];
 
   source.type = type;
   source.pool = pool;
-  status = CPS_ParseNTPSourceAdd(line, &source.params);
 
-  if (status != CPS_Success) {
-    CPS_StatusToString(status, str, sizeof (str));
-    other_parse_error(str);
+  if (!CPS_ParseNTPSourceAdd(line, &source.params)) {
+    command_parse_error();
     return;
   }