[vlc-commits] ftp: factor common line receive code
Rémi Denis-Courmont
git at videolan.org
Sun Nov 20 18:31:33 CET 2016
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sun Nov 20 19:17:08 2016 +0200| [bc9fc74d681df71ce28e2f39c3cf886dfa5e9e5a] | committer: Rémi Denis-Courmont
ftp: factor common line receive code
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=bc9fc74d681df71ce28e2f39c3cf886dfa5e9e5a
---
modules/access/ftp.c | 33 +++++++++++++++++----------------
1 file changed, 17 insertions(+), 16 deletions(-)
diff --git a/modules/access/ftp.c b/modules/access/ftp.c
index 59bdd31..e05b702 100644
--- a/modules/access/ftp.c
+++ b/modules/access/ftp.c
@@ -195,6 +195,21 @@ static int ftp_SendCommand( vlc_object_t *obj, access_sys_t *sys,
return val;
}
+static char *ftp_GetLine( vlc_object_t *obj, access_sys_t *sys )
+{
+ char *resp;
+
+ if( sys->cmd.p_tls != NULL )
+ resp = vlc_tls_GetLine( sys->cmd.p_tls );
+ else
+ resp = net_Gets( obj, sys->cmd.fd );
+
+ if( resp == NULL )
+ msg_Err( obj, "response failure" );
+
+ return resp;
+}
+
/* TODO support this s**t :
RFC 959 allows the client to send certain TELNET strings at any moment,
even in the middle of a request:
@@ -219,16 +234,9 @@ static int ftp_RecvAnswer( vlc_object_t *obj, access_sys_t *sys,
if( strp != NULL )
*strp = NULL;
- char *resp;
- if( sys->cmd.p_tls != NULL )
- resp = vlc_tls_GetLine( sys->cmd.p_tls );
- else
- resp = net_Gets( obj, sys->cmd.fd );
+ char *resp = ftp_GetLine( obj, sys );
if( resp == NULL )
- {
- msg_Err( obj, "response failure" );
goto error;
- }
char *end;
unsigned code = strtoul( resp, &end, 10 );
@@ -246,16 +254,9 @@ static int ftp_RecvAnswer( vlc_object_t *obj, access_sys_t *sys,
*end = ' ';
do
{
- char *line;
- if( sys->cmd.p_tls != NULL )
- line = vlc_tls_GetLine( sys->cmd.p_tls );
- else
- line = net_Gets( obj, sys->cmd.fd );
+ char *line = ftp_GetLine( obj, sys );
if( line == NULL )
- {
- msg_Err( obj, "response failure" );
goto error;
- }
done = !strncmp( resp, line, 4 );
if( !done )
More information about the vlc-commits
mailing list