Remove a redundant assertion
[khatus.git] / x5 / khatus.c
index 93550a9..fad3994 100644 (file)
@@ -57,10 +57,10 @@ struct Config {
 };
 
 enum read_status {
-       FAIL_FINAL     = -2,
-       FAIL_TMP       = -1,
-       END_OF_FILE    =  0,
-       END_OF_MESSAGE =  1
+       END_OF_FILE,
+       END_OF_MESSAGE,
+       RETRY,
+       FAILURE
 };
 
 void
@@ -328,22 +328,21 @@ fifo_read_error(Fifo *f, char *buf)
 enum read_status
 fifo_read_one(Fifo *f, char *buf)
 {
-       /* Initialize all to an impossible value: */
-       ssize_t n = -5;  /* Number of bytes read. */
-       char    c = -1;  /* Character read. */
-       int     r = -1;  /* Remaining unused slots in buffer range. */
+       char c;  /* Character read. */
+       int  r;  /* Remaining unused slots in buffer range. */
 
        for (;;) {
-               n = read(f->fd, &c, 1);
-               assert(n >= -1 && n <= 1);
-               switch (n) {
+               switch (read(f->fd, &c, 1)) {
                case -1:
                        error("Failed to read: \"%s\". errno: %d, msg: %s\n",
                            f->name, errno, strerror(errno));
-                       if (errno == 11)
-                               return FAIL_TMP;
-                       else
-                               return FAIL_FINAL;
+                       switch (errno) {
+                       case EINTR:
+                       case EAGAIN:
+                               return RETRY;
+                       default:
+                               return FAILURE;
+                       }
                case  0:
                        debug("%s: End of FILE\n", f->name);
                        f->pos_curr = f->pos_init;
@@ -418,12 +417,12 @@ fifo_read_all(Config *cfg, char *buf)
                        debug("reading: %s\n", f->name);
                        switch (fifo_read_one(f, buf)) {
                        case END_OF_FILE:
-                       case FAIL_FINAL:
+                       case FAILURE:
                                close(f->fd);
                                f->fd = -1;
                                break;
                        case END_OF_MESSAGE:
-                       case FAIL_TMP:
+                       case RETRY:
                                break;
                        default:
                                assert(0);
This page took 0.02524 seconds and 4 git commands to generate.