helly           Thu Mar 31 18:02:20 2005 EDT

  Modified files:              
    /php-src/ext/spl    spl_directory.c 
  Log:
  - Add RecursiveDirectoryIterator::getSubPathname()
  
http://cvs.php.net/diff.php/php-src/ext/spl/spl_directory.c?r1=1.40&r2=1.41&ty=u
Index: php-src/ext/spl/spl_directory.c
diff -u php-src/ext/spl/spl_directory.c:1.40 
php-src/ext/spl/spl_directory.c:1.41
--- php-src/ext/spl/spl_directory.c:1.40        Thu Mar 31 16:51:45 2005
+++ php-src/ext/spl/spl_directory.c     Thu Mar 31 18:02:20 2005
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: spl_directory.c,v 1.40 2005/03/31 21:51:45 helly Exp $ */
+/* $Id: spl_directory.c,v 1.41 2005/03/31 23:02:20 helly Exp $ */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
@@ -564,7 +564,7 @@
 }
 /* }}} */
 
-/* {{{ proto void RecursiveDirectoryIterator::rewind()
+/* {{{ proto void RecursiveDirectoryIterator::getSubPath()
    Get sub path */
 SPL_METHOD(RecursiveDirectoryIterator, getSubPath)
 {
@@ -579,6 +579,24 @@
 }
 /* }}} */
 
+/* {{{ proto void RecursiveDirectoryIterator::getSubPathname()
+   Get sub path and file name */
+SPL_METHOD(RecursiveDirectoryIterator, getSubPathname)
+{
+       zval *object = getThis();
+       spl_ce_dir_object *intern = 
(spl_ce_dir_object*)zend_object_store_get_object(object TSRMLS_CC);
+       char *sub_name;
+       int len;
+
+       if (intern->sub_path) {
+               len = spprintf(&sub_name, 0, "%s/%s", intern->sub_path, 
intern->entry.d_name);
+               RETURN_STRINGL(sub_name, len, 0);
+       } else {
+               RETURN_STRING(intern->entry.d_name, 1);
+       }
+}
+/* }}} */
+
 /* define an overloaded iterator structure */
 typedef struct {
        zend_object_iterator  intern;
@@ -848,6 +866,7 @@
        SPL_ME(RecursiveDirectoryIterator, hasChildren,   NULL, ZEND_ACC_PUBLIC)
        SPL_ME(RecursiveDirectoryIterator, getChildren,   NULL, ZEND_ACC_PUBLIC)
        SPL_ME(RecursiveDirectoryIterator, getSubPath,    NULL, ZEND_ACC_PUBLIC)
+       SPL_ME(RecursiveDirectoryIterator, getSubPathname,NULL, ZEND_ACC_PUBLIC)
        {NULL, NULL, NULL}
 };
 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to