Commit d5e2d0b6 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

ftp: convert state names to a global array

... just to make them easier to print in debug ouputs while debugging.
They are still within #ifdef [debugbuild].
parent f34b5fb4
Loading
Loading
Loading
Loading
+43 −41
Original line number Diff line number Diff line
@@ -775,17 +775,9 @@ CURLcode Curl_GetFTPResponse(ssize_t *nreadp, /* return number of bytes read */
  return result;
}

/* This is the ONLY way to change FTP state! */
static void _state(struct connectdata *conn,
                   ftpstate newstate
#ifdef DEBUGBUILD
                   , int lineno
#endif
  )
{
#if defined(DEBUGBUILD) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
  /* for debug purposes */
  static const char * const names[]={
static const char * const ftp_state_names[]={
  "STOP",
  "WAIT220",
  "AUTH",
@@ -823,11 +815,21 @@ static void _state(struct connectdata *conn,
  "QUIT"
};
#endif

/* This is the ONLY way to change FTP state! */
static void _state(struct connectdata *conn,
                   ftpstate newstate
#ifdef DEBUGBUILD
                   , int lineno
#endif
  )
{
  struct ftp_conn *ftpc = &conn->proto.ftpc;
#if defined(DEBUGBUILD) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
  if(ftpc->state != newstate)
    infof(conn->data, "FTP %p (line %d) state change from %s to %s\n",
          (void *)ftpc, lineno, names[ftpc->state], names[newstate]);
          (void *)ftpc, lineno, ftp_state_names[ftpc->state],
          ftp_state_names[newstate]);
#endif
  ftpc->state = newstate;
}