If we're going to expose stat functionality to extensions (and I agree we
should), It needs to be part of the wrapper url_stat routing.

php_stream_url_stat_path() in main/streams/streams.c

Unfortunately we also need to get that layer of the streams API working
(which it isn't entirely yet)

Ultimately, php_stat() should call into php_stream_url_stat_path() as should
any extension which wishes to stat a file (local or remote).

-Sara

"Marcus Boerger" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> helly Fri Nov  7 04:16:17 2003 EDT
>
>   Modified files:
>     /php-src/ext/standard filestat.c php_filestat.h
>   Log:
>   Make php_stat() available for extensions.
>
>
> Index: php-src/ext/standard/filestat.c
> diff -u php-src/ext/standard/filestat.c:1.126
php-src/ext/standard/filestat.c:1.127
> --- php-src/ext/standard/filestat.c:1.126 Mon Sep  1 21:22:02 2003
> +++ php-src/ext/standard/filestat.c Fri Nov  7 04:16:16 2003
> @@ -16,7 +16,7 @@
>
+----------------------------------------------------------------------+
>   */
>
> -/* $Id: filestat.c,v 1.126 2003/09/02 01:22:02 sniper Exp $ */
> +/* $Id: filestat.c,v 1.127 2003/11/07 09:16:16 helly Exp $ */
>
>  #include "php.h"
>  #include "safe_mode.h"
> @@ -96,27 +96,6 @@
>
>  #define S_IXROOT ( S_IXUSR | S_IXGRP | S_IXOTH )
>
> -/* Switches for various filestat functions: */
> -#define FS_PERMS    0
> -#define FS_INODE    1
> -#define FS_SIZE     2
> -#define FS_OWNER    3
> -#define FS_GROUP    4
> -#define FS_ATIME    5
> -#define FS_MTIME    6
> -#define FS_CTIME    7
> -#define FS_TYPE     8
> -#define FS_IS_W     9
> -#define FS_IS_R    10
> -#define FS_IS_X    11
> -#define FS_IS_FILE 12
> -#define FS_IS_DIR  13
> -#define FS_IS_LINK 14
> -#define FS_EXISTS  15
> -#define FS_LSTAT   16
> -#define FS_STAT    17
> -
> -
>  PHP_RINIT_FUNCTION(filestat)
>  {
>   BG(CurrentStatFile)=NULL;
> @@ -555,7 +534,7 @@
>
>  /* {{{ php_stat
>   */
> -static void php_stat(const char *filename, php_stat_len filename_length,
int type, pval *return_value TSRMLS_DC)
> +PHPAPI void php_stat(const char *filename, php_stat_len filename_length,
int type, pval *return_value TSRMLS_DC)
>  {
>   zval *stat_dev, *stat_ino, *stat_mode, *stat_nlink, *stat_uid,
*stat_gid, *stat_rdev,
>   *stat_size, *stat_atime, *stat_mtime, *stat_ctime, *stat_blksize,
*stat_blocks;
> Index: php-src/ext/standard/php_filestat.h
> diff -u php-src/ext/standard/php_filestat.h:1.20
php-src/ext/standard/php_filestat.h:1.21
> --- php-src/ext/standard/php_filestat.h:1.20 Tue Jun 10 16:03:38 2003
> +++ php-src/ext/standard/php_filestat.h Fri Nov  7 04:16:16 2003
> @@ -16,7 +16,7 @@
>
+----------------------------------------------------------------------+
>  */
>
> -/* $Id: php_filestat.h,v 1.20 2003/06/10 20:03:38 imajes Exp $ */
> +/* $Id: php_filestat.h,v 1.21 2003/11/07 09:16:16 helly Exp $ */
>
>  #ifndef PHP_FILESTAT_H
>  #define PHP_FILESTAT_H
> @@ -74,5 +74,27 @@
>  #define getgid() 1
>  #define getuid() 1
>  #endif
> +
> +PHPAPI void php_stat(const char *filename, php_stat_len filename_length,
int type, pval *return_value TSRMLS_DC);
> +
> +/* Switches for various filestat functions: */
> +#define FS_PERMS    0
> +#define FS_INODE    1
> +#define FS_SIZE     2
> +#define FS_OWNER    3
> +#define FS_GROUP    4
> +#define FS_ATIME    5
> +#define FS_MTIME    6
> +#define FS_CTIME    7
> +#define FS_TYPE     8
> +#define FS_IS_W     9
> +#define FS_IS_R    10
> +#define FS_IS_X    11
> +#define FS_IS_FILE 12
> +#define FS_IS_DIR  13
> +#define FS_IS_LINK 14
> +#define FS_EXISTS  15
> +#define FS_LSTAT   16
> +#define FS_STAT    17
>
>  #endif /* PHP_FILESTAT_H */

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to