static int ftp_send_command(FTPContext *s, const char *command,

                            const int response_codes[], char **response)

{

    int err;



    /* Flush control connection input to get rid of non relevant responses if any */

    if ((err = ftp_flush_control_input(s)) < 0)

        return err;



    /* send command in blocking mode */

    s->conn_control_block_flag = 0;

    if ((err = ffurl_write(s->conn_control, command, strlen(command))) < 0)

        return err;

    if (!err)

        return -1;



    /* return status */

    if (response_codes) {

        return ftp_status(s, response, response_codes);

    }

    return 0;

}

static int ftp_send_command(FTPContext *s, const char *command,

                            const int response_codes[], char **response)

{

    int err;



    

    if ((err = ftp_flush_control_input(s)) < 0)

        return err;



    

    s->conn_control_block_flag = 0;

    if ((err = ffurl_write(s->conn_control, command, strlen(command))) < 0)

        return err;

    if (!err)

        return -1;



    

    if (response_codes) {

        return ftp_status(s, response, response_codes);

    }

    return 0;

}

static int FUNC_0(FTPContext *VAR_0, const char *VAR_1,

                            const int VAR_2[], char **VAR_3)

{

    int VAR_4;



    

    if ((VAR_4 = ftp_flush_control_input(VAR_0)) < 0)

        return VAR_4;



    

    VAR_0->conn_control_block_flag = 0;

    if ((VAR_4 = ffurl_write(VAR_0->conn_control, VAR_1, strlen(VAR_1))) < 0)

        return VAR_4;

    if (!VAR_4)

        return -1;



    

    if (VAR_2) {

        return ftp_status(VAR_0, VAR_3, VAR_2);

    }

    return 0;

}

static int FUNC_0(FTPContext *VAR_0, const char *VAR_1,
const int VAR_2[], char **VAR_3)
{ int VAR_4; if ((VAR_4 = ftp_flush_control_input(VAR_0)) < 0)
return VAR_4; VAR_0->conn_control_block_flag = 0; if ((VAR_4 = ffurl_write(VAR_0->conn_control, VAR_1, strlen(VAR_1))) < 0)
return VAR_4; if (!VAR_4)
return -1; if (VAR_2) { return ftp_status(VAR_0, VAR_3, VAR_2); } return 0; }