LTP GCOV extension - code coverage report
Current view: directory - ext/standard - pageinfo.c
Test: PHP Code Coverage
Date: 2007-04-10 Instrumented lines: 45
Code covered: 0.0 % Executed lines: 0
Legend: not executed executed

       1                 : /*
       2                 :    +----------------------------------------------------------------------+
       3                 :    | PHP Version 5                                                        |
       4                 :    +----------------------------------------------------------------------+
       5                 :    | Copyright (c) 1997-2007 The PHP Group                                |
       6                 :    +----------------------------------------------------------------------+
       7                 :    | This source file is subject to version 3.01 of the PHP license,      |
       8                 :    | that is bundled with this package in the file LICENSE, and is        |
       9                 :    | available through the world-wide-web at the following url:           |
      10                 :    | http://www.php.net/license/3_01.txt                                  |
      11                 :    | If you did not receive a copy of the PHP license and are unable to   |
      12                 :    | obtain it through the world-wide-web, please send a note to          |
      13                 :    | license@php.net so we can mail you a copy immediately.               |
      14                 :    +----------------------------------------------------------------------+
      15                 :    | Author: Jim Winstead <jimw@php.net>                                  |
      16                 :    +----------------------------------------------------------------------+
      17                 : */
      18                 : 
      19                 : /* $Id: pageinfo.c,v 1.40.2.1.2.1 2007/01/01 09:36:08 sebastian Exp $ */
      20                 : 
      21                 : #include "php.h"
      22                 : #include "pageinfo.h"
      23                 : #include "SAPI.h"
      24                 : 
      25                 : #include <stdio.h>
      26                 : #include <stdlib.h>
      27                 : #if HAVE_PWD_H
      28                 : #ifdef PHP_WIN32
      29                 : #include "win32/pwd.h"
      30                 : #else
      31                 : #include <pwd.h>
      32                 : #endif
      33                 : #endif
      34                 : #if HAVE_GRP_H
      35                 : # ifdef PHP_WIN32
      36                 : #  include "win32/grp.h"
      37                 : # else
      38                 : #  include <grp.h>
      39                 : # endif
      40                 : #endif
      41                 : #ifdef PHP_WIN32
      42                 : #undef getgid
      43                 : #define getgroups(a, b) 0
      44                 : #define getgid() 1
      45                 : #define getuid() 1
      46                 : #endif
      47                 : #if HAVE_UNISTD_H
      48                 : #include <unistd.h>
      49                 : #endif
      50                 : #include <sys/stat.h>
      51                 : #include <sys/types.h>
      52                 : #ifdef PHP_WIN32
      53                 : #include <process.h>
      54                 : #endif
      55                 : 
      56                 : #include "ext/standard/basic_functions.h"
      57                 : 
      58                 : /* {{{ php_statpage
      59                 :  */
      60                 : PHPAPI void php_statpage(TSRMLS_D)
      61               0 : {
      62                 :         struct stat *pstat;
      63                 : 
      64               0 :         pstat = sapi_get_stat(TSRMLS_C);
      65                 : 
      66               0 :         if (BG(page_uid)==-1 || BG(page_gid)==-1) {
      67               0 :                 if(pstat) {
      68               0 :                         BG(page_uid)   = pstat->st_uid;
      69               0 :                         BG(page_gid)   = pstat->st_gid;
      70               0 :                         BG(page_inode) = pstat->st_ino;
      71                 : #ifdef NETWARE
      72                 :                         BG(page_mtime) = (pstat->st_mtime).tv_sec;
      73                 : #else
      74               0 :                         BG(page_mtime) = pstat->st_mtime;
      75                 : #endif
      76                 :                 } else { /* handler for situations where there is no source file, ex. php -r */
      77               0 :                         BG(page_uid) = getuid();
      78               0 :                         BG(page_gid) = getgid();
      79                 :                 }
      80                 :         }
      81               0 : }
      82                 : /* }}} */
      83                 : 
      84                 : /* {{{ php_getuid
      85                 :  */
      86                 : long php_getuid(void)
      87               0 : {
      88                 :         TSRMLS_FETCH();
      89                 : 
      90               0 :         php_statpage(TSRMLS_C);
      91               0 :         return (BG(page_uid));
      92                 : }
      93                 : /* }}} */
      94                 : 
      95                 : long php_getgid(void)
      96               0 : {
      97                 :         TSRMLS_FETCH();
      98                 : 
      99               0 :         php_statpage(TSRMLS_C);
     100               0 :         return (BG(page_gid));
     101                 : }
     102                 : 
     103                 : /* {{{ proto int getmyuid(void)
     104                 :    Get PHP script owner's UID */
     105                 : PHP_FUNCTION(getmyuid)
     106               0 : {
     107                 :         long uid;
     108                 :         
     109               0 :         uid = php_getuid();
     110               0 :         if (uid < 0) {
     111               0 :                 RETURN_FALSE;
     112                 :         } else {
     113               0 :                 RETURN_LONG(uid);
     114                 :         }
     115                 : }
     116                 : /* }}} */
     117                 : 
     118                 : /* {{{ proto int getmygid(void)
     119                 :    Get PHP script owner's GID */
     120                 : PHP_FUNCTION(getmygid)
     121               0 : {
     122                 :         long gid;
     123                 :         
     124               0 :         gid = php_getgid();
     125               0 :         if (gid < 0) {
     126               0 :                 RETURN_FALSE;
     127                 :         } else {
     128               0 :                 RETURN_LONG(gid);
     129                 :         }
     130                 : }
     131                 : /* }}} */
     132                 : 
     133                 : /* {{{ proto int getmypid(void)
     134                 :    Get current process ID */
     135                 : PHP_FUNCTION(getmypid)
     136               0 : {
     137                 :         int pid;
     138                 :         
     139               0 :         pid = getpid();
     140               0 :         if (pid < 0) {
     141               0 :                 RETURN_FALSE;
     142                 :         } else {
     143               0 :                 RETURN_LONG((long) pid);
     144                 :         }
     145                 : }
     146                 : /* }}} */
     147                 : 
     148                 : /* {{{ proto int getmyinode(void)
     149                 :    Get the inode of the current script being parsed */
     150                 : PHP_FUNCTION(getmyinode)
     151               0 : {
     152               0 :         php_statpage(TSRMLS_C);
     153               0 :         if (BG(page_inode) < 0) {
     154               0 :                 RETURN_FALSE;
     155                 :         } else {
     156               0 :                 RETURN_LONG(BG(page_inode));
     157                 :         }
     158                 : }
     159                 : /* }}} */
     160                 : 
     161                 : PHPAPI long php_getlastmod(TSRMLS_D)
     162               0 : {
     163               0 :         php_statpage(TSRMLS_C);
     164               0 :         return BG(page_mtime);
     165                 : }
     166                 : 
     167                 : /* {{{ proto int getlastmod(void)
     168                 :    Get time of last page modification */
     169                 : PHP_FUNCTION(getlastmod)
     170               0 : {
     171               0 :         long lm = php_getlastmod(TSRMLS_C);
     172               0 :         if (lm < 0) {
     173               0 :                 RETURN_FALSE;
     174                 :         } else {
     175               0 :                 RETURN_LONG(lm);
     176                 :         }
     177                 : }
     178                 : /* }}} */
     179                 : 
     180                 : /*
     181                 :  * Local variables:
     182                 :  * tab-width: 4
     183                 :  * c-basic-offset: 4
     184                 :  * End:
     185                 :  * vim600: sw=4 ts=4 fdm=marker
     186                 :  * vim<600: sw=4 ts=4
     187                 :  */

Generated by: LTP GCOV extension version 1.5