php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #40987 SVN PECL extension does not properly prototype all its functions
Submitted: 2007-04-03 22:14 UTC Modified: 2007-04-03 22:20 UTC
From: edwardzyang at thewritingpot dot com Assigned:
Status: Not a bug Package: Unknown/Other Function
PHP Version: 6CVS-2007-04-03 (CVS) OS:
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: edwardzyang at thewritingpot dot com
New email:
PHP Version: OS:

 

 [2007-04-03 22:14 UTC] edwardzyang at thewritingpot dot com
Description:
------------
The svn extension does not properly prototype all of its PHP_FUNCTION declarations. Thus, when xml_proto.php is run on it, it misses some of the functions. Below is a patch that adds prototype declarations to:

svn_auth_get_parameter
svn_auth_set_parameter
svn_cat
svn_client_version
svn_import
svn_log

Index: svn.c
===================================================================
RCS file: /repository/pecl/svn/svn.c,v
retrieving revision 1.23
diff -u -r1.23 svn.c
--- svn.c	18 Apr 2006 03:11:52 -0000	1.23
+++ svn.c	3 Apr 2007 22:07:41 -0000
@@ -312,6 +312,8 @@
 	SVN_G(ctx)->auth_baton = ab;
 }
 
+/* {{{ proto string svn_auth_get_parameter(string key)
+   Retrieves authentication parameter at key */
 PHP_FUNCTION(svn_auth_get_parameter)
 {
 	char *key;
@@ -329,7 +331,10 @@
 		RETURN_STRING((char*)value, 1);
 	}
 }
+/* }}} */
 
+/* {{{ proto void svn_auth_set_parameter(string key, string value)
+   Sets authentication parameter at key to value */
 PHP_FUNCTION(svn_auth_set_parameter)
 {
 	char *key, *value;
@@ -342,7 +347,10 @@
 
 	svn_auth_set_parameter(SVN_G(ctx)->auth_baton, apr_pstrdup(SVN_G(pool), key), apr_pstrdup(SVN_G(pool), value));
 }
+/* }}} */
 
+/* {{{ proto bool svn_import(string path, string url, bool nonrecursive)
+   Imports unversioned path into repository at url */
 PHP_FUNCTION(svn_import)
 {
 	svn_client_commit_info_t *commit_info_p = NULL;
@@ -379,6 +387,7 @@
 	svn_pool_destroy(subpool);
 
 }
+/* }}} */
 
 /* {{{ PHP_MINIT_FUNCTION */
 PHP_MINIT_FUNCTION(svn)
@@ -530,6 +539,8 @@
 /* }}} */
 
 
+/* {{{ proto string svn_cat(string repos_url[, int revision_no])
+   Returns the contents of repos_url, optionally at revision_no */
 PHP_FUNCTION(svn_cat)
 {
 	char *repos_url = NULL;
@@ -597,8 +608,11 @@
 	svn_pool_destroy(subpool);
 	if (retdata) efree(retdata);
 }
+/* }}} */
 
 
+/* {{{ proto array svn_ls(string repos_url[, int revision_no])
+   Returns list of directory contents in repos_url, optionally at revision_no */
 PHP_FUNCTION(svn_ls)
 {
 	char *repos_url = NULL;
@@ -702,6 +716,7 @@
 	svn_pool_destroy(subpool);
 	
 }
+/* }}} */
 
 static svn_error_t *
 php_svn_log_message_receiver (	void *baton,
@@ -779,7 +794,9 @@
 	add_next_index_zval(return_value, row); 
 	return SVN_NO_ERROR;
 }
- 
+
+/* {{{ proto array svn_log(string repos_url[, int revision_no])
+   Returns the commit log messages of repos_url, optionally at revision_no */
 PHP_FUNCTION(svn_log)
 {
 	const char *repos_url = NULL, *utf8_repos_url = NULL; 
@@ -844,6 +861,7 @@
 
 	svn_pool_destroy(subpool);
 }
+/* }}} */
 
 static size_t php_apr_file_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC)
 {
@@ -1881,6 +1899,8 @@
 		snprintf(buf, buflen, "%d.%d.%d", vers->major, vers->minor, vers->patch);
 }
 
+/* {{{ proto string svn_client_version()
+   Returns the version of the SVN client libraries */
 PHP_FUNCTION(svn_client_version)
 {
 	char vers[128];
@@ -1892,6 +1912,7 @@
 	php_svn_get_version(vers, sizeof(vers));
 	RETURN_STRING(vers, 1);
 }
+/* }}} */
 
 /* {{{ proto resource svn_repos_fs_begin_txn_for_commit(resource repos, long rev, string author, string log_msg)
    create a new transaction */


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-04-03 22:18 UTC] tony2001@php.net
It would be better to upload this patch somewhere and put the link in the report.
Also PECL bugs should be reported in PECL bug tracker:
http://pecl.php.net/bugs/search.php?cmd=display&status=Open&package_name[]=svn
 [2007-04-03 22:20 UTC] edwardzyang at thewritingpot dot com
I was wondering why there was no PECL category in this bugtracker! Thanks for the pointer.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Wed Jul 09 14:01:33 2025 UTC