httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@hyperreal.org
Subject cvs commit: apache-apr/apr/file_io/unix filedup.c filestat.c Makefile open.c
Date Thu, 25 Feb 1999 21:33:46 GMT
rbb         99/02/25 13:33:46

  Modified:    apr/file_io/unix Makefile open.c
  Added:       apr/file_io/unix filedup.c filestat.c
  Log:
  Added logic to copy apr file descriptos, and get stat information for
  files.
  
  Revision  Changes    Path
  1.3       +4 -3      apache-apr/apr/file_io/unix/Makefile
  
  Index: Makefile
  ===================================================================
  RCS file: /home/cvs/apache-apr/apr/file_io/unix/Makefile,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Makefile	1999/02/25 19:58:41	1.2
  +++ Makefile	1999/02/25 21:33:42	1.3
  @@ -47,7 +47,7 @@
   
   LIB=  libfile.a
   
  -OBJS= open.o readwrite.o\
  +OBJS= open.o readwrite.o filedup.o filestat.o\
   
   .c.o:
   	$(CC) -c $(INCLUDES) $(CFLAGS) $<
  @@ -82,6 +82,7 @@
   $(OBJS): Makefile
   
   # DO NOT REMOVE
  -alloc.o: open.c 
  +open.o: open.c filestat.c
   readwrite.o: readwrite.c
  -
  +filedup.o: filedup.c
  +filestat.o: filestat.c
  
  
  
  1.9       +1 -8      apache-apr/apr/file_io/unix/open.c
  
  Index: open.c
  ===================================================================
  RCS file: /home/cvs/apache-apr/apr/file_io/unix/open.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- open.c	1999/02/25 19:58:41	1.8
  +++ open.c	1999/02/25 21:33:43	1.9
  @@ -116,14 +116,7 @@
           return NULL;
       }
   
  -    if (stat(dafile->fname, &info) == 0) {
  -        dafile->protection = info.st_mode;
  -	dafile->user = info.st_uid;
  -	dafile->group = info.st_gid;
  -	dafile->size = info.st_size;
  -	dafile->atime = info.st_atime;
  -	dafile->mtime = info.st_mtime;
  -	dafile->ctime = info.st_ctime;
  +    if (apr_updatefileinfo(dafile) == APR_SUCCESS) {
   	return dafile;
       }
       else {
  
  
  
  1.1                  apache-apr/apr/file_io/unix/filedup.c
  
  Index: filedup.c
  ===================================================================
  /* ====================================================================
   * Copyright (c) 1999 The Apache Group.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer. 
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. All advertising materials mentioning features or use of this
   *    software must display the following acknowledgment:
   *    "This product includes software developed by the Apache Group
   *    for use in the Apache HTTP server project (http://www.apache.org/)."
   *
   * 4. The names "Apache Server" and "Apache Group" must not be used to
   *    endorse or promote products derived from this software without
   *    prior written permission. For written permission, please contact
   *    apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * 6. Redistributions of any form whatsoever must retain the following
   *    acknowledgment:
   *    "This product includes software developed by the Apache Group
   *    for use in the Apache HTTP server project (http://www.apache.org/)."
   *
   * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
   * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE APACHE GROUP OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Group.
   * For more information on the Apache Group and the Apache HTTP server
   * project, please see <http://www.apache.org/>.
   *
   */
  
  #include "apr_file_io.h"
  #include "apr_general.h"
  
  apr_file_t *apr_dupfile(apr_file_t *old_file)
  {
      apr_file_t * new_file = (apr_file_t *)malloc(sizeof(apr_file_t));
      
      if (new_file == NULL) {
          errno = ENOMEM;
          return NULL;
      } 
      old_file->filedes = new_file->filedes; 
      old_file->fname = new_file->fname;
      old_file->buffered = new_file->buffered;
      old_file->protection = new_file->protection;
      old_file->user = new_file->user;
      old_file->group = new_file->group;
      old_file->size = new_file->size;
      old_file->atime = new_file->atime;    
      old_file->mtime = new_file->mtime;
      old_file->ctime = new_file->ctime;
  }
  
  
  
  
  1.1                  apache-apr/apr/file_io/unix/filestat.c
  
  Index: filestat.c
  ===================================================================
  /* ====================================================================
   * Copyright (c) 1999 The Apache Group.  All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer. 
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. All advertising materials mentioning features or use of this
   *    software must display the following acknowledgment:
   *    "This product includes software developed by the Apache Group
   *    for use in the Apache HTTP server project (http://www.apache.org/)."
   *
   * 4. The names "Apache Server" and "Apache Group" must not be used to
   *    endorse or promote products derived from this software without
   *    prior written permission. For written permission, please contact
   *    apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * 6. Redistributions of any form whatsoever must retain the following
   *    acknowledgment:
   *    "This product includes software developed by the Apache Group
   *    for use in the Apache HTTP server project (http://www.apache.org/)."
   *
   * THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
   * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE APACHE GROUP OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Group.
   * For more information on the Apache Group and the Apache HTTP server
   * project, please see <http://www.apache.org/>.
   *
   */
  
  #include "apr_file_io.h"
  #include "apr_general.h"
  #include "apr_errno.h"
  
  apr_status_t apr_getfileinfo(char * fname, apr_file_t *thefile)
  {
      struct stat info;
      int rv = stat(fname, &info);
  
      if (rv == 0) {
          thefile->protection = info.st_mode;
          thefile->user = info.st_uid;
          thefile->group = info.st_gid;
          thefile->size = info.st_size;
          thefile->atime = info.st_atime;
          thefile->mtime = info.st_mtime;
          thefile->ctime = info.st_ctime;
          return APR_SUCCESS;
      }
      else {
          errno = ENOSTAT;
          return APR_FAILURE;
      }
  }
  
  apr_status_t apr_updatefileinfo(apr_file_t *thefile)
  {
      struct stat info;
      int rv = fstat(thefile->filedes, &info);
  
      if (rv == 0) {
          thefile->protection = info.st_mode;
          thefile->user = info.st_uid;
          thefile->group = info.st_gid;
          thefile->size = info.st_size;
          thefile->atime = info.st_atime;
          thefile->mtime = info.st_mtime;
          thefile->ctime = info.st_ctime;
          return APR_SUCCESS;
      }
      else {
          errno = ENOSTAT;
          return APR_FAILURE;
      }
  }
  
  
  
  
  
  

Mime
View raw message