Skip to content

Commit 00cd671

Browse files
blarkrakjoe
authored andcommitted
Make transfer mode optional, set default to binary
1 parent 5058ba6 commit 00cd671

File tree

4 files changed

+42
-43
lines changed

4 files changed

+42
-43
lines changed

UPGRADING

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ Core:
5656
9. Other Changes to Extensions
5757
========================================
5858

59+
FTP:
60+
. Set default transfer mode to binary
61+
5962
ODBC:
6063
. Support for Birdstep has been removed.
6164

ext/ftp/php_ftp.c

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -816,7 +816,7 @@ PHP_FUNCTION(ftp_systype)
816816
}
817817
/* }}} */
818818

819-
/* {{{ proto bool ftp_fget(resource stream, resource fp, string remote_file, int mode[, int resumepos])
819+
/* {{{ proto bool ftp_fget(resource stream, resource fp, string remote_file, [, int mode [, int resumepos]])
820820
Retrieves a file from the FTP server and writes it to an open file */
821821
PHP_FUNCTION(ftp_fget)
822822
{
@@ -826,9 +826,9 @@ PHP_FUNCTION(ftp_fget)
826826
php_stream *stream;
827827
char *file;
828828
size_t file_len;
829-
zend_long mode, resumepos=0;
829+
zend_long mode=FTPTYPE_IMAGE, resumepos=0;
830830

831-
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rrsl|l", &z_ftp, &z_file, &file, &file_len, &mode, &resumepos) == FAILURE) {
831+
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rrs|ll", &z_ftp, &z_file, &file, &file_len, &mode, &resumepos) == FAILURE) {
832832
return;
833833
}
834834

@@ -862,7 +862,7 @@ PHP_FUNCTION(ftp_fget)
862862
}
863863
/* }}} */
864864

865-
/* {{{ proto int ftp_nb_fget(resource stream, resource fp, string remote_file, int mode[, int resumepos])
865+
/* {{{ proto int ftp_nb_fget(resource stream, resource fp, string remote_file [, int mode [, int resumepos]])
866866
Retrieves a file from the FTP server asynchronly and writes it to an open file */
867867
PHP_FUNCTION(ftp_nb_fget)
868868
{
@@ -872,9 +872,9 @@ PHP_FUNCTION(ftp_nb_fget)
872872
php_stream *stream;
873873
char *file;
874874
size_t file_len;
875-
zend_long mode, resumepos=0, ret;
875+
zend_long mode=FTPTYPE_IMAGE, resumepos=0, ret;
876876

877-
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rrsl|l", &z_ftp, &z_file, &file, &file_len, &mode, &resumepos) == FAILURE) {
877+
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rrs|ll", &z_ftp, &z_file, &file, &file_len, &mode, &resumepos) == FAILURE) {
878878
return;
879879
}
880880

@@ -936,7 +936,7 @@ PHP_FUNCTION(ftp_pasv)
936936
}
937937
/* }}} */
938938

939-
/* {{{ proto bool ftp_get(resource stream, string local_file, string remote_file, int mode[, int resume_pos])
939+
/* {{{ proto bool ftp_get(resource stream, string local_file, string remote_file [, int mode [, int resume_pos]])
940940
Retrieves a file from the FTP server and writes it to a local file */
941941
PHP_FUNCTION(ftp_get)
942942
{
@@ -946,9 +946,9 @@ PHP_FUNCTION(ftp_get)
946946
php_stream *outstream;
947947
char *local, *remote;
948948
size_t local_len, remote_len;
949-
zend_long mode, resumepos=0;
949+
zend_long mode=FTPTYPE_IMAGE, resumepos=0;
950950

951-
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rppl|l", &z_ftp, &local, &local_len, &remote, &remote_len, &mode, &resumepos) == FAILURE) {
951+
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rpp|ll", &z_ftp, &local, &local_len, &remote, &remote_len, &mode, &resumepos) == FAILURE) {
952952
return;
953953
}
954954

@@ -1001,7 +1001,7 @@ PHP_FUNCTION(ftp_get)
10011001
}
10021002
/* }}} */
10031003

1004-
/* {{{ proto int ftp_nb_get(resource stream, string local_file, string remote_file, int mode[, int resume_pos])
1004+
/* {{{ proto int ftp_nb_get(resource stream, string local_file, string remote_file, [, int mode [, int resume_pos]])
10051005
Retrieves a file from the FTP server nbhronly and writes it to a local file */
10061006
PHP_FUNCTION(ftp_nb_get)
10071007
{
@@ -1012,9 +1012,9 @@ PHP_FUNCTION(ftp_nb_get)
10121012
char *local, *remote;
10131013
size_t local_len, remote_len;
10141014
int ret;
1015-
zend_long mode, resumepos=0;
1015+
zend_long mode=FTPTYPE_IMAGE, resumepos=0;
10161016

1017-
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rssl|l", &z_ftp, &local, &local_len, &remote, &remote_len, &mode, &resumepos) == FAILURE) {
1017+
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rss|ll", &z_ftp, &local, &local_len, &remote, &remote_len, &mode, &resumepos) == FAILURE) {
10181018
return;
10191019
}
10201020

@@ -1114,19 +1114,19 @@ PHP_FUNCTION(ftp_nb_continue)
11141114
}
11151115
/* }}} */
11161116

1117-
/* {{{ proto bool ftp_fput(resource stream, string remote_file, resource fp, int mode[, int startpos])
1117+
/* {{{ proto bool ftp_fput(resource stream, string remote_file, resource fp [, int mode [, int startpos]])
11181118
Stores a file from an open file to the FTP server */
11191119
PHP_FUNCTION(ftp_fput)
11201120
{
11211121
zval *z_ftp, *z_file;
11221122
ftpbuf_t *ftp;
11231123
ftptype_t xtype;
11241124
size_t remote_len;
1125-
zend_long mode, startpos=0;
1125+
zend_long mode=FTPTYPE_IMAGE, startpos=0;
11261126
php_stream *stream;
11271127
char *remote;
11281128

1129-
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rsrl|l", &z_ftp, &remote, &remote_len, &z_file, &mode, &startpos) == FAILURE) {
1129+
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rsr|ll", &z_ftp, &remote, &remote_len, &z_file, &mode, &startpos) == FAILURE) {
11301130
return;
11311131
}
11321132

@@ -1163,7 +1163,7 @@ PHP_FUNCTION(ftp_fput)
11631163
}
11641164
/* }}} */
11651165

1166-
/* {{{ proto int ftp_nb_fput(resource stream, string remote_file, resource fp, int mode[, int startpos])
1166+
/* {{{ proto int ftp_nb_fput(resource stream, string remote_file, resource fp [, int mode [, int startpos]])
11671167
Stores a file from an open file to the FTP server nbronly */
11681168
PHP_FUNCTION(ftp_nb_fput)
11691169
{
@@ -1172,11 +1172,11 @@ PHP_FUNCTION(ftp_nb_fput)
11721172
ftptype_t xtype;
11731173
size_t remote_len;
11741174
int ret;
1175-
zend_long mode, startpos=0;
1175+
zend_long mode=FTPTYPE_IMAGE, startpos=0;
11761176
php_stream *stream;
11771177
char *remote;
11781178

1179-
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rsrl|l", &z_ftp, &remote, &remote_len, &z_file, &mode, &startpos) == FAILURE) {
1179+
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rsr|ll", &z_ftp, &remote, &remote_len, &z_file, &mode, &startpos) == FAILURE) {
11801180
return;
11811181
}
11821182

@@ -1218,7 +1218,7 @@ PHP_FUNCTION(ftp_nb_fput)
12181218
/* }}} */
12191219

12201220

1221-
/* {{{ proto bool ftp_put(resource stream, string remote_file, string local_file, int mode[, int startpos])
1221+
/* {{{ proto bool ftp_put(resource stream, string remote_file, string local_file [, int mode [, int startpos]])
12221222
Stores a file on the FTP server */
12231223
PHP_FUNCTION(ftp_put)
12241224
{
@@ -1227,10 +1227,10 @@ PHP_FUNCTION(ftp_put)
12271227
ftptype_t xtype;
12281228
char *remote, *local;
12291229
size_t remote_len, local_len;
1230-
zend_long mode, startpos=0;
1230+
zend_long mode=FTPTYPE_IMAGE, startpos=0;
12311231
php_stream *instream;
12321232

1233-
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rppl|l", &z_ftp, &remote, &remote_len, &local, &local_len, &mode, &startpos) == FAILURE) {
1233+
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rpp|ll", &z_ftp, &remote, &remote_len, &local, &local_len, &mode, &startpos) == FAILURE) {
12341234
return;
12351235
}
12361236

@@ -1273,7 +1273,7 @@ PHP_FUNCTION(ftp_put)
12731273
/* }}} */
12741274

12751275

1276-
/* {{{ proto int ftp_nb_put(resource stream, string remote_file, string local_file, int mode[, int startpos])
1276+
/* {{{ proto int ftp_nb_put(resource stream, string remote_file, string local_file [, int mode [, int startpos]])
12771277
Stores a file on the FTP server */
12781278
PHP_FUNCTION(ftp_nb_put)
12791279
{
@@ -1282,10 +1282,10 @@ PHP_FUNCTION(ftp_nb_put)
12821282
ftptype_t xtype;
12831283
char *remote, *local;
12841284
size_t remote_len, local_len;
1285-
zend_long mode, startpos=0, ret;
1285+
zend_long mode=FTPTYPE_IMAGE, startpos=0, ret;
12861286
php_stream *instream;
12871287

1288-
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rppl|l", &z_ftp, &remote, &remote_len, &local, &local_len, &mode, &startpos) == FAILURE) {
1288+
if (zend_parse_parameters(ZEND_NUM_ARGS(), "rpp|ll", &z_ftp, &remote, &remote_len, &local, &local_len, &mode, &startpos) == FAILURE) {
12891289
return;
12901290
}
12911291

ext/ftp/tests/004.phpt

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ var_dump(ftp_alloc($ftp, array()));
2020
var_dump(ftp_cdup($ftp, 0));
2121
var_dump(ftp_chdir($ftp, array()));
2222
var_dump(ftp_chmod($ftp, 0666));
23-
var_dump(ftp_get($ftp, 1234,12));
2423
var_dump(ftp_close());
2524
var_dump(ftp_connect('sfjkfjaksfjkasjf'));
2625
var_dump(ftp_delete($ftp, array()));
@@ -50,30 +49,27 @@ NULL
5049
Warning: ftp_chmod() expects exactly 3 parameters, 2 given in %s on line %d
5150
bool(false)
5251

53-
Warning: ftp_get() expects at least 4 parameters, 3 given in %s on line %d
52+
Warning: ftp_close() expects exactly 1 parameter, 0 given in %s004.php on line 16
5453
NULL
5554

56-
Warning: ftp_close() expects exactly 1 parameter, 0 given in %s004.php on line 17
57-
NULL
58-
59-
Warning: ftp_connect(): php_network_getaddresses: getaddrinfo failed: %s in %s004.php on line 18
55+
Warning: ftp_connect(): php_network_getaddresses: getaddrinfo failed: %s in %s004.php on line 17
6056
bool(false)
6157

62-
Warning: ftp_delete() expects parameter 2 to be string, array given in %s004.php on line 19
58+
Warning: ftp_delete() expects parameter 2 to be string, array given in %s004.php on line 18
6359
NULL
6460

65-
Warning: ftp_exec() expects parameter 2 to be string, array given in %s004.php on line 20
61+
Warning: ftp_exec() expects parameter 2 to be string, array given in %s004.php on line 19
6662
NULL
6763

68-
Warning: ftp_systype() expects exactly 1 parameter, 2 given in %s004.php on line 22
64+
Warning: ftp_systype() expects exactly 1 parameter, 2 given in %s004.php on line 21
6965
NULL
7066

71-
Warning: ftp_pwd() expects exactly 1 parameter, 2 given in %s004.php on line 23
67+
Warning: ftp_pwd() expects exactly 1 parameter, 2 given in %s004.php on line 22
7268
NULL
7369

74-
Warning: ftp_login() expects exactly 3 parameters, 1 given in %s004.php on line 25
70+
Warning: ftp_login() expects exactly 3 parameters, 1 given in %s004.php on line 24
7571
NULL
7672

77-
Warning: ftp_login(): Not logged in. in %s004.php on line 26
73+
Warning: ftp_login(): Not logged in. in %s004.php on line 25
7874
bool(false)
7975
bool(true)

ext/ftp/tests/006.phpt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,13 @@ NULL
5555
Warning: ftp_rawlist() expects at least 2 parameters, 1 given in %s006.php on line 10
5656
NULL
5757

58-
Warning: ftp_fget() expects at least 4 parameters, 1 given in %s006.php on line 11
58+
Warning: ftp_fget() expects at least 3 parameters, 1 given in %s006.php on line 11
5959
NULL
6060

61-
Warning: ftp_nb_fget() expects at least 4 parameters, 1 given in %s006.php on line 12
61+
Warning: ftp_nb_fget() expects at least 3 parameters, 1 given in %s006.php on line 12
6262
NULL
6363

64-
Warning: ftp_nb_get() expects at least 4 parameters, 1 given in %s006.php on line 13
64+
Warning: ftp_nb_get() expects at least 3 parameters, 1 given in %s006.php on line 13
6565
NULL
6666

6767
Warning: ftp_pasv() expects exactly 2 parameters, 1 given in %s006.php on line 14
@@ -70,16 +70,16 @@ NULL
7070
Warning: ftp_nb_continue() expects exactly 1 parameter, 0 given in %s006.php on line 15
7171
NULL
7272

73-
Warning: ftp_fput() expects at least 4 parameters, 0 given in %s006.php on line 16
73+
Warning: ftp_fput() expects at least 3 parameters, 0 given in %s006.php on line 16
7474
NULL
7575

76-
Warning: ftp_nb_fput() expects at least 4 parameters, 1 given in %s006.php on line 17
76+
Warning: ftp_nb_fput() expects at least 3 parameters, 1 given in %s006.php on line 17
7777
NULL
7878

79-
Warning: ftp_put() expects at least 4 parameters, 1 given in %s006.php on line 18
79+
Warning: ftp_put() expects at least 3 parameters, 1 given in %s006.php on line 18
8080
NULL
8181

82-
Warning: ftp_nb_put() expects at least 4 parameters, 1 given in %s006.php on line 19
82+
Warning: ftp_nb_put() expects at least 3 parameters, 1 given in %s006.php on line 19
8383
NULL
8484

8585
Warning: ftp_size() expects exactly 2 parameters, 1 given in %s006.php on line 20

0 commit comments

Comments
 (0)