Browse Source

r15371@catbus: nickm | 2007-09-25 19:53:13 -0400
Always set status_out when adding a vote.


svn:r11646

Nick Mathewson 17 years ago
parent
commit
95d97c722a
1 changed files with 7 additions and 1 deletions
  1. 7 1
      src/or/dirvote.c

+ 7 - 1
src/or/dirvote.c

@@ -1418,6 +1418,12 @@ dirvote_add_vote(const char *vote_body, const char **msg_out, int *status_out)
           v->vote_body = new_cached_dir(tor_strdup(vote_body),
                                         vote->published);
           v->vote = vote;
+          if (end_of_vote &&
+              !strcmpstart(end_of_vote, "network-status-version"))
+            goto again;
+
+          if (!*status_out)
+            *status_out = 200;
           *msg_out = "ok";
           return v;
         } else {
@@ -1450,7 +1456,7 @@ dirvote_add_vote(const char *vote_body, const char **msg_out, int *status_out)
     networkstatus_vote_free(vote);
   if (!*msg_out)
     *msg_out = "Error adding vote";
-  if (!*status_out)
+  if (!*status_out || *status_out == 200)
     *status_out = 400;
 
   if (end_of_vote && !strcmpstart(end_of_vote, "network-status-version "))