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
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
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

Add a Patch

Pull Requests

Add a Pull Request

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-2024 The PHP Group
All rights reserved.
Last updated: Tue May 07 05:01:30 2024 UTC