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].
This commit is contained in:
Daniel Stenberg 2013-08-14 22:28:32 +02:00
parent f34b5fb4d8
commit d5e2d0b6bf
1 changed files with 43 additions and 41 deletions

View File

@ -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",
@ -821,13 +813,23 @@ static void _state(struct connectdata *conn,
"RETR",
"STOR",
"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;
}