]> granicus.if.org Git - curl/commitdiff
TFTP now reports the "not defined" TFTP error code 0 as an error,
authorDan Fandrich <dan@coneharvesters.com>
Fri, 7 Sep 2007 20:35:37 +0000 (20:35 +0000)
committerDan Fandrich <dan@coneharvesters.com>
Fri, 7 Sep 2007 20:35:37 +0000 (20:35 +0000)
not success.

CHANGES
lib/tftp.c

diff --git a/CHANGES b/CHANGES
index 7f9831b7555e7894063e381e8a24b3481a59c656..67ffceb11002134a0fc27e404ad90d512fc6642d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,9 @@ Dan F (5 September 2007)
 - Added test case 1007 to test permission problem when uploading with TFTP
   (to validate bug #1790403).
 
+- TFTP now reports the "not defined" TFTP error code 0 as an error,
+  not success.
+
 Daniel S (5 September 2007)
 - Continued the work on a fix for #1779054
   (http://curl.haxx.se/bug/view.cgi?id=1779054). My previous fix from August
index cfa20a6b20e166b52328a931f0a33c24cfdaf9cf..a3a69cf6c97cf9390313f505e31c42166d07a3a9 100644 (file)
@@ -115,6 +115,9 @@ typedef enum {
   TFTP_ERR_UNKNOWNID,
   TFTP_ERR_EXISTS,
   TFTP_ERR_NOSUCHUSER, /* This will never be triggered by this code */
+
+  /* The remaining error codes are internal to curl */
+  TFTP_ERR_NONE = -100,
   TFTP_ERR_TIMEOUT,
   TFTP_ERR_NORESPONSE
 } tftp_error_t;
@@ -588,6 +591,7 @@ CURLcode Curl_tftp_connect(struct connectdata *conn, bool *done)
   state->conn = conn;
   state->sockfd = state->conn->sock[FIRSTSOCKET];
   state->state = TFTP_STATE_START;
+  state->error = TFTP_ERR_NONE;
 
   ((struct sockaddr *)&state->local_addr)->sa_family =
     (unsigned short)(conn->ip_addr->ai_family);
@@ -790,7 +794,7 @@ CURLcode Curl_tftp(struct connectdata *conn, bool *done)
     return code;
 
   /* If we have encountered an error */
-  if(state->error) {
+  if(state->error != TFTP_ERR_NONE) {
 
     /* Translate internal error codes to curl error codes */
     switch(state->error) {
@@ -803,6 +807,7 @@ CURLcode Curl_tftp(struct connectdata *conn, bool *done)
     case TFTP_ERR_DISKFULL:
       code = CURLE_REMOTE_DISK_FULL;
       break;
+    case TFTP_ERR_UNDEF:
     case TFTP_ERR_ILLEGAL:
       code = CURLE_TFTP_ILLEGAL;
       break;