httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexei Kosut <ako...@hyperreal.org>
Subject cvs commit: apache/src alloc.c alloc.h buff.c buff.h http_bprintf.c http_conf_globals.h http_config.c http_config.h http_log.c http_log.h http_main.c http_main.h http_protocol.c http_protocol.h http_request.c http_request.h httpd.h scoreboard.h util.c util_md5.c util_md5.h util_script.c util_script.h
Date Tue, 15 Jul 1997 21:40:24 GMT
akosut      97/07/15 14:40:21

  Modified:    src       alloc.c alloc.h buff.c buff.h http_bprintf.c 
                        http_conf_globals.h http_config.c http_config.h
                        http_log.c  http_log.h http_main.c http_main.h
                        http_protocol.c  http_protocol.h http_request.c
                        http_request.h httpd.h  scoreboard.h util.c
                        util_md5.c util_md5.h util_script.c  util_script.h
  Log:
  Tag (most of) the rest of the Apache module API symbols with API_EXPORT.
  
  Reviewed by: Ben Laurie
  
  Revision  Changes    Path
  1.40      +7 -3      apache/src/alloc.c
  
  Index: alloc.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/alloc.c,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -c -C3 -r1.39 -r1.40
  *** alloc.c	1997/07/14 11:28:54	1.39
  --- alloc.c	1997/07/15 21:39:50	1.40
  ***************
  *** 299,305 ****
        permanent_pool = make_sub_pool (NULL);
    }
    
  ! void clear_pool (struct pool *a)
    {
      block_alarms();
      
  --- 299,305 ----
        permanent_pool = make_sub_pool (NULL);
    }
    
  ! API_EXPORT(void) clear_pool (struct pool *a)
    {
      block_alarms();
      
  ***************
  *** 333,340 ****
      unblock_alarms();
    }
    
  ! long bytes_in_pool (pool *p) { return bytes_in_block_list (p->first); }
  ! long bytes_in_free_blocks () { return bytes_in_block_list (block_freelist); }
    
    /*****************************************************************
     *
  --- 333,344 ----
      unblock_alarms();
    }
    
  ! API_EXPORT(long) bytes_in_pool (pool *p) {
  !     return bytes_in_block_list (p->first);
  ! }
  ! API_EXPORT(long) bytes_in_free_blocks () {
  !     return bytes_in_block_list (block_freelist);
  ! }
    
    /*****************************************************************
     *
  
  
  
  1.29      +3 -3      apache/src/alloc.h
  
  Index: alloc.h
  ===================================================================
  RCS file: /export/home/cvs/apache/src/alloc.h,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -c -C3 -r1.28 -r1.29
  *** alloc.h	1997/07/13 19:01:07	1.28
  --- alloc.h	1997/07/15 21:39:50	1.29
  ***************
  *** 86,92 ****
    
    /* Clearing out EVERYTHING in an pool... destroys any sub-pools */
    
  ! void clear_pool (struct pool *);
    
    /* Preparing for exec() --- close files, etc., but *don't* flush I/O
     * buffers, *don't* wait for subprocesses, and *don't* free any memory.
  --- 86,92 ----
    
    /* Clearing out EVERYTHING in an pool... destroys any sub-pools */
    
  ! API_EXPORT(void) clear_pool (struct pool *);
    
    /* Preparing for exec() --- close files, etc., but *don't* flush I/O
     * buffers, *don't* wait for subprocesses, and *don't* free any memory.
  ***************
  *** 262,266 ****
    
    /* Finally, some accounting */
    
  ! long bytes_in_pool(pool *p);
  ! long bytes_in_free_blocks();
  --- 262,266 ----
    
    /* Finally, some accounting */
    
  ! API_EXPORT(long) bytes_in_pool(pool *p);
  ! API_EXPORT(long) bytes_in_free_blocks();
  
  
  
  1.37      +14 -24    apache/src/buff.c
  
  Index: buff.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/buff.c,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -c -C3 -r1.36 -r1.37
  *** buff.c	1997/07/13 19:01:08	1.36
  --- buff.c	1997/07/15 21:39:50	1.37
  ***************
  *** 246,253 ****
    /*
     * Create a new buffered stream
     */
  ! BUFF *
  ! bcreate(pool *p, int flags)
    {
        BUFF *fb;
    
  --- 246,252 ----
    /*
     * Create a new buffered stream
     */
  ! API_EXPORT(BUFF *) bcreate(pool *p, int flags)
    {
        BUFF *fb;
    
  ***************
  *** 290,304 ****
    /*
     * Push some I/O file descriptors onto the stream
     */
  ! void
  ! bpushfd(BUFF *fb, int fd_in, int fd_out)
    {
        fb->fd = fd_out;
        fb->fd_in = fd_in;
    }
    
  ! int
  ! bsetopt(BUFF *fb, int optname, const void *optval)
    {
        if (optname == BO_BYTECT)
        {
  --- 289,301 ----
    /*
     * Push some I/O file descriptors onto the stream
     */
  ! API_EXPORT(void) bpushfd(BUFF *fb, int fd_in, int fd_out)
    {
        fb->fd = fd_out;
        fb->fd_in = fd_in;
    }
    
  ! API_EXPORT(int) bsetopt(BUFF *fb, int optname, const void *optval)
    {
        if (optname == BO_BYTECT)
        {
  ***************
  *** 311,318 ****
        }
    }
    
  ! int
  ! bgetopt(BUFF *fb, int optname, void *optval)
    {
        if (optname == BO_BYTECT)
        {
  --- 308,314 ----
        }
    }
    
  ! API_EXPORT(int) bgetopt(BUFF *fb, int optname, void *optval)
    {
        if (optname == BO_BYTECT)
        {
  ***************
  *** 415,421 ****
    /*
     * Set a flag on (1) or off (0).
     */
  ! int bsetflag(BUFF *fb, int flag, int value)
    {
        if (value) {
    	fb->flags |= flag;
  --- 411,417 ----
    /*
     * Set a flag on (1) or off (0).
     */
  ! API_EXPORT(int) bsetflag(BUFF *fb, int flag, int value)
    {
        if (value) {
    	fb->flags |= flag;
  ***************
  *** 518,525 ****
     * If fewer than byte bytes are currently available, then return those.
     * Returns 0 for EOF, -1 for error.
     */
  ! int
  ! bread(BUFF *fb, void *buf, int nbyte)
    {
        int i, nrd;
    
  --- 514,520 ----
     * If fewer than byte bytes are currently available, then return those.
     * Returns 0 for EOF, -1 for error.
     */
  ! API_EXPORT(int) bread(BUFF *fb, void *buf, int nbyte)
    {
        int i, nrd;
    
  ***************
  *** 684,690 ****
     * Returns 1 on success, zero on end of transmission, or -1 on an error.
     *
     */
  ! int blookc(char *buff, BUFF *fb)
    {
        int i;
    
  --- 679,685 ----
     * Returns 1 on success, zero on end of transmission, or -1 on an error.
     *
     */
  ! API_EXPORT(int) blookc(char *buff, BUFF *fb)
    {
        int i;
    
  ***************
  *** 723,730 ****
     * Skip data until a linefeed character is read
     * Returns 1 on success, 0 if no LF found, or -1 on error
     */
  ! int
  ! bskiplf(BUFF *fb)
    {
        unsigned char *x;
        int i;
  --- 718,724 ----
     * Skip data until a linefeed character is read
     * Returns 1 on success, 0 if no LF found, or -1 on error
     */
  ! API_EXPORT(int) bskiplf(BUFF *fb)
    {
        unsigned char *x;
        int i;
  ***************
  *** 762,769 ****
    /*
     * Emtpy the buffer after putting a single character in it
     */
  ! int
  ! bflsbuf(int c, BUFF *fb)
    {
        char ss[1];
    
  --- 756,762 ----
    /*
     * Emtpy the buffer after putting a single character in it
     */
  ! API_EXPORT(int) bflsbuf(int c, BUFF *fb)
    {
        char ss[1];
    
  ***************
  *** 774,781 ****
    /*
     * Fill the buffer and read a character from it
     */
  ! int
  ! bfilbuf(BUFF *fb)
    {
        int i;
        char buf[1];
  --- 767,773 ----
    /*
     * Fill the buffer and read a character from it
     */
  ! API_EXPORT(int) bfilbuf(BUFF *fb)
    {
        int i;
        char buf[1];
  ***************
  *** 1130,1137 ****
    /*
     * returns the number of bytes written or -1 on error
     */
  ! int
  ! bputs(const char *x, BUFF *fb)
    {
        int i, j=strlen(x);
        i = bwrite(fb, x, j);
  --- 1122,1128 ----
    /*
     * returns the number of bytes written or -1 on error
     */
  ! API_EXPORT(int) bputs(const char *x, BUFF *fb)
    {
        int i, j=strlen(x);
        i = bwrite(fb, x, j);
  ***************
  *** 1142,1149 ****
    /*
     * returns the number of bytes written or -1 on error
     */
  ! int
  ! bvputs(BUFF *fb, ...)
    {
        int i, j, k;
        va_list v;
  --- 1133,1139 ----
    /*
     * returns the number of bytes written or -1 on error
     */
  ! API_EXPORT_NONSTD(int) bvputs(BUFF *fb, ...)
    {
        int i, j, k;
        va_list v;
  ***************
  *** 1169,1176 ****
        return k;
    }
    
  ! void
  ! bonerror(BUFF *fb, void (*error)(BUFF *, int, void *), void *data)
    {
        fb->error = error;
        fb->error_data = data;
  --- 1159,1166 ----
        return k;
    }
    
  ! API_EXPORT(void) bonerror(BUFF *fb, void (*error)(BUFF *, int, void *),
  ! 			  void *data)
    {
        fb->error = error;
        fb->error_data = data;
  
  
  
  1.19      +15 -15    apache/src/buff.h
  
  Index: buff.h
  ===================================================================
  RCS file: /export/home/cvs/apache/src/buff.h,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -c -C3 -r1.18 -r1.19
  *** buff.h	1997/07/14 11:28:54	1.18
  --- buff.h	1997/07/15 21:39:51	1.19
  ***************
  *** 120,153 ****
    #define BO_BYTECT (1)
    
    /* Stream creation and modification */
  ! extern BUFF *bcreate(pool *p, int flags);
  ! extern void bpushfd(BUFF *fb, int fd_in, int fd_out);
  ! extern int bsetopt(BUFF *fb, int optname, const void *optval);
  ! extern int bgetopt(BUFF *fb, int optname, void *optval);
  ! extern int bsetflag(BUFF *fb, int flag, int value);
    API_EXPORT(int) bclose(BUFF *fb);
    
    #define bgetflag(fb, flag)	((fb)->flags & (flag))
    
    /* Error handling */
  ! extern void bonerror(BUFF *fb, void (*error)(BUFF *, int, void *),
    		     void *data);
    
    /* I/O */
  ! extern int bread(BUFF *fb, void *buf, int nbyte);
    API_EXPORT(int) bgets(char *s, int n, BUFF *fb);
  ! extern int blookc(char *buff, BUFF *fb);
  ! extern int bskiplf(BUFF *fb);
    API_EXPORT(int) bwrite(BUFF *fb, const void *buf, int nbyte);
    API_EXPORT(int) bflush(BUFF *fb);
  ! extern int bputs(const char *x, BUFF *fb);
  ! extern int bvputs(BUFF *fb, ...);
  ! extern int bprintf(BUFF *fb,const char *fmt,...);
  ! extern int vbprintf(BUFF *fb,const char *fmt,va_list vlist);
    
    /* Internal routines */
  ! extern int bflsbuf(int c, BUFF *fb);
  ! extern int bfilbuf(BUFF *fb);
    
    #define bgetc(fb)   ( ((fb)->incnt == 0) ? bfilbuf(fb) : \
    		    ((fb)->incnt--, *((fb)->inptr++)) )
  --- 120,153 ----
    #define BO_BYTECT (1)
    
    /* Stream creation and modification */
  ! API_EXPORT(BUFF *) bcreate(pool *p, int flags);
  ! API_EXPORT(void) bpushfd(BUFF *fb, int fd_in, int fd_out);
  ! API_EXPORT(int) bsetopt(BUFF *fb, int optname, const void *optval);
  ! API_EXPORT(int) bgetopt(BUFF *fb, int optname, void *optval);
  ! API_EXPORT(int) bsetflag(BUFF *fb, int flag, int value);
    API_EXPORT(int) bclose(BUFF *fb);
    
    #define bgetflag(fb, flag)	((fb)->flags & (flag))
    
    /* Error handling */
  ! API_EXPORT(void) bonerror(BUFF *fb, void (*error)(BUFF *, int, void *),
    		     void *data);
    
    /* I/O */
  ! API_EXPORT(int) bread(BUFF *fb, void *buf, int nbyte);
    API_EXPORT(int) bgets(char *s, int n, BUFF *fb);
  ! API_EXPORT(int) blookc(char *buff, BUFF *fb);
  ! API_EXPORT(int) bskiplf(BUFF *fb);
    API_EXPORT(int) bwrite(BUFF *fb, const void *buf, int nbyte);
    API_EXPORT(int) bflush(BUFF *fb);
  ! API_EXPORT(int) bputs(const char *x, BUFF *fb);
  ! API_EXPORT(int) bvputs(BUFF *fb, ...);
  ! API_EXPORT_NONSTD(int) bprintf(BUFF *fb,const char *fmt,...);
  ! API_EXPORT_NONSTD(int) vbprintf(BUFF *fb,const char *fmt,va_list vlist);
    
    /* Internal routines */
  ! API_EXPORT(int) bflsbuf(int c, BUFF *fb);
  ! API_EXPORT(int) bfilbuf(BUFF *fb);
    
    #define bgetc(fb)   ( ((fb)->incnt == 0) ? bfilbuf(fb) : \
    		    ((fb)->incnt--, *((fb)->inptr++)) )
  
  
  
  1.11      +1 -1      apache/src/http_bprintf.c
  
  Index: http_bprintf.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_bprintf.c,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -c -C3 -r1.10 -r1.11
  *** http_bprintf.c	1997/06/29 23:54:50	1.10
  --- http_bprintf.c	1997/07/15 21:39:51	1.11
  ***************
  *** 60,66 ****
        *srcPtr = src;
        }
    
  ! int vbprintf(BUFF *bp, const char *format, va_list arg)
        {
        const char *f,*fStop,*percentPtr,*p;
        char *fmtBuffPtr, *buffPtr;
  --- 60,66 ----
        *srcPtr = src;
        }
    
  ! API_EXPORT_NONSTD(int) vbprintf(BUFF *bp, const char *format, va_list arg)
        {
        const char *f,*fStop,*percentPtr,*p;
        char *fmtBuffPtr, *buffPtr;
  
  
  
  1.14      +1 -1      apache/src/http_conf_globals.h
  
  Index: http_conf_globals.h
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_conf_globals.h,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -c -C3 -r1.13 -r1.14
  *** http_conf_globals.h	1997/07/13 19:01:09	1.13
  --- http_conf_globals.h	1997/07/15 21:39:51	1.14
  ***************
  *** 76,82 ****
    extern char *pid_fname;
    extern char *scoreboard_fname;
    extern char *lock_fname;
  ! extern char *server_argv0;
    
    /* Trying to allocate these in the config pool gets us into some *nasty*
     * chicken-and-egg problems in http_main.c --- where do you stick them
  --- 76,82 ----
    extern char *pid_fname;
    extern char *scoreboard_fname;
    extern char *lock_fname;
  ! MODULE_VAR_EXPORT char *server_argv0;
    
    /* Trying to allocate these in the config pool gets us into some *nasty*
     * chicken-and-egg problems in http_main.c --- where do you stick them
  
  
  
  1.60      +9 -7      apache/src/http_config.c
  
  Index: http_config.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_config.c,v
  retrieving revision 1.59
  retrieving revision 1.60
  diff -c -C3 -r1.59 -r1.60
  *** http_config.c	1997/07/13 19:01:09	1.59
  --- http_config.c	1997/07/15 21:39:52	1.60
  ***************
  *** 442,448 ****
    
    /* One-time setup for precompiled modules --- NOT to be done on restart */
    
  ! void add_module (module *m)
    {
        /* This could be called from an AddModule httpd.conf command,
         * after the file has been linked and the module structure within it
  --- 442,448 ----
    
    /* One-time setup for precompiled modules --- NOT to be done on restart */
    
  ! API_EXPORT(void) add_module (module *m)
    {
        /* This could be called from an AddModule httpd.conf command,
         * after the file has been linked and the module structure within it
  ***************
  *** 489,500 ****
        }
    }
    
  ! const char *find_module_name (module *m)
    {
        return m->name;
    }
    
  ! module *find_linked_module (const char *name)
    {
        module *modp;
    
  --- 489,500 ----
        }
    }
    
  ! API_EXPORT(const char *) find_module_name (module *m)
    {
        return m->name;
    }
    
  ! API_EXPORT(module *) find_linked_module (const char *name)
    {
        module *modp;
    
  ***************
  *** 506,512 ****
    }
    
    /* Add a named module.  Returns 1 if module found, 0 otherwise.  */
  ! int add_named_module (const char *name)
    {
        extern module *preloaded_modules[];
        module *modp;
  --- 506,512 ----
    }
    
    /* Add a named module.  Returns 1 if module found, 0 otherwise.  */
  ! API_EXPORT(int) add_named_module (const char *name)
    {
        extern module *preloaded_modules[];
        module *modp;
  ***************
  *** 526,532 ****
    }
    
    /* Clear the internal list of modules, in preparation for starting over. */
  ! void clear_module_list ()
    {
        module **m = &top_module;
        module **next_m;
  --- 526,532 ----
    }
    
    /* Clear the internal list of modules, in preparation for starting over. */
  ! API_EXPORT(void) clear_module_list ()
    {
        module **m = &top_module;
        module **next_m;
  ***************
  *** 776,782 ****
     * Generic command functions...
     */
    
  ! API_EXPORT_NONSTD(const char *) set_string_slot (cmd_parms *cmd, char *struct_ptr, char *arg)
    {
        /* This one's pretty generic... */
      
  --- 776,783 ----
     * Generic command functions...
     */
    
  ! API_EXPORT_NONSTD(const char *) set_string_slot (cmd_parms *cmd,
  ! 						 char *struct_ptr, char *arg)
    {
        /* This one's pretty generic... */
      
  ***************
  *** 785,791 ****
        return NULL;
    }
    
  ! const char *set_flag_slot (cmd_parms *cmd, char *struct_ptr, int arg)
    {
        /* This one's pretty generic too... */
      
  --- 786,793 ----
        return NULL;
    }
    
  ! API_EXPORT_NONSTD(const char *) set_flag_slot (cmd_parms *cmd,
  ! 					       char *struct_ptr, int arg)
    {
        /* This one's pretty generic too... */
      
  
  
  
  1.35      +6 -6      apache/src/http_config.h
  
  Index: http_config.h
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_config.h,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -c -C3 -r1.34 -r1.35
  *** http_config.h	1997/07/13 19:01:10	1.34
  --- http_config.h	1997/07/15 21:39:52	1.35
  ***************
  *** 239,245 ****
    /* Generic command handling function... */
    
    API_EXPORT_NONSTD(const char *) set_string_slot (cmd_parms *, char *, char *);
  ! const char *set_flag_slot (cmd_parms *, char *, int);
    
    /* For modules which need to read config files, open logs, etc. ...
     * this returns the fname argument if it begins with '/'; otherwise
  --- 239,245 ----
    /* Generic command handling function... */
    
    API_EXPORT_NONSTD(const char *) set_string_slot (cmd_parms *, char *, char *);
  ! API_EXPORT_NONSTD(const char *) set_flag_slot (cmd_parms *, char *, int);
    
    /* For modules which need to read config files, open logs, etc. ...
     * this returns the fname argument if it begins with '/'; otherwise
  ***************
  *** 250,260 ****
         
    /* Finally, the hook for dynamically loading modules in... */
    
  ! void add_module (module *m);
  ! int add_named_module (const char *name);
  ! void clear_module_list ();
  ! const char *find_module_name (module *m);
  ! module *find_linked_module (const char *name);
    
    #ifdef CORE_PRIVATE
    
  --- 250,260 ----
         
    /* Finally, the hook for dynamically loading modules in... */
    
  ! API_EXPORT(void) add_module (module *m);
  ! API_EXPORT(int) add_named_module (const char *name);
  ! API_EXPORT(void) clear_module_list ();
  ! API_EXPORT(const char *) find_module_name (module *m);
  ! API_EXPORT(module *) find_linked_module (const char *name);
    
    #ifdef CORE_PRIVATE
    
  
  
  
  1.20      +5 -7      apache/src/http_log.c
  
  Index: http_log.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_log.c,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -c -C3 -r1.19 -r1.20
  *** http_log.c	1997/07/13 19:01:11	1.19
  --- http_log.c	1997/07/15 21:39:53	1.20
  ***************
  *** 158,171 ****
        fclose(pid_file);
    }
    
  ! void log_error(char *err, server_rec *s) {
        fprintf(s->error_log, "[%s] %s\n",get_time(),err);
        fflush(s->error_log);
    }
    
  ! void
  ! log_unixerr(const char *routine, const char *file, const char *msg,
  ! 	    server_rec *s)
    {
        const char *p, *q;
        FILE *err=s ? s->error_log : stderr;
  --- 158,170 ----
        fclose(pid_file);
    }
    
  ! API_EXPORT(void) log_error(char *err, server_rec *s) {
        fprintf(s->error_log, "[%s] %s\n",get_time(),err);
        fflush(s->error_log);
    }
    
  ! API_EXPORT(void) log_unixerr(const char *routine, const char *file,
  ! 			     const char *msg, server_rec *s)
    {
        const char *p, *q;
        FILE *err=s ? s->error_log : stderr;
  ***************
  *** 182,189 ****
        fflush(err);
    }
    
  ! void
  ! log_printf(const server_rec *s, const char *fmt, ...)
    {
        va_list args;
        
  --- 181,187 ----
        fflush(err);
    }
    
  ! API_EXPORT(void) log_printf(const server_rec *s, const char *fmt, ...)
    {
        va_list args;
        
  ***************
  *** 206,212 ****
        fflush (r->server->error_log);
    }
    
  ! void log_assert(const char *szExp,const char *szFile,int nLine)
    {
        fprintf(stderr, "[%s] file %s, line %d, assertion \"%s\" failed\n",
    	get_time(), szFile, nLine, szExp);
  --- 204,210 ----
        fflush (r->server->error_log);
    }
    
  ! API_EXPORT(void) log_assert(const char *szExp, const char *szFile, int nLine)
    {
        fprintf(stderr, "[%s] file %s, line %d, assertion \"%s\" failed\n",
    	get_time(), szFile, nLine, szExp);
  
  
  
  1.9       +6 -5      apache/src/http_log.h
  
  Index: http_log.h
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_log.h,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -c -C3 -r1.8 -r1.9
  *** http_log.h	1997/07/13 19:01:11	1.8
  --- http_log.h	1997/07/15 21:39:54	1.9
  ***************
  *** 54,62 ****
    API_EXPORT(void) error_log2stderr (server_rec *);     
    
    void log_pid (pool *p, char *pid_fname);
  ! void log_error(char *err, server_rec *s);
  ! extern void log_unixerr(const char *routine, const char *file,
  ! 			const char *msg, server_rec *s);
  ! void log_printf(const server_rec *s, const char *fmt, ...);
  ! API_EXPORT(void) log_reason(const char *reason, const char *fname, request_rec *r);
    
  --- 54,63 ----
    API_EXPORT(void) error_log2stderr (server_rec *);     
    
    void log_pid (pool *p, char *pid_fname);
  ! API_EXPORT(void) log_error(char *err, server_rec *s);
  ! API_EXPORT(void) log_unixerr(const char *routine, const char *file,
  ! 			     const char *msg, server_rec *s);
  ! API_EXPORT(void) log_printf(const server_rec *s, const char *fmt, ...);
  ! API_EXPORT(void) log_reason(const char *reason, const char *fname,
  ! 			    request_rec *r);
    
  
  
  
  1.179     +4 -4      apache/src/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_main.c,v
  retrieving revision 1.178
  retrieving revision 1.179
  diff -c -C3 -r1.178 -r1.179
  *** http_main.c	1997/07/13 19:01:11	1.178
  --- http_main.c	1997/07/15 21:39:54	1.179
  ***************
  *** 777,783 ****
        scoreboard_image = NULL;
    }
    
  ! void sync_scoreboard_image ()
    {}
    
    
  --- 777,783 ----
        scoreboard_image = NULL;
    }
    
  ! API_EXPORT(void) sync_scoreboard_image ()
    {}
    
    
  ***************
  *** 1057,1063 ****
     * anyway.
     */
    
  ! void sync_scoreboard_image ()
    {
    #ifdef SCOREBOARD_FILE
        lseek (scoreboard_fd, 0L, 0);
  --- 1057,1063 ----
     * anyway.
     */
    
  ! API_EXPORT(void) sync_scoreboard_image ()
    {
    #ifdef SCOREBOARD_FILE
        lseek (scoreboard_fd, 0L, 0);
  ***************
  *** 1067,1073 ****
    
    #endif /* MULTITHREAD */
    
  ! int exists_scoreboard_image ()
    {
        return (scoreboard_image ? 1 : 0);
    }
  --- 1067,1073 ----
    
    #endif /* MULTITHREAD */
    
  ! API_EXPORT(int) exists_scoreboard_image ()
    {
        return (scoreboard_image ? 1 : 0);
    }
  ***************
  *** 1143,1149 ****
    #endif
    }
    
  ! short_score get_scoreboard_info(int i)
    {
        return (scoreboard_image->servers[i]);
    }
  --- 1143,1149 ----
    #endif
    }
    
  ! API_EXPORT(short_score) get_scoreboard_info(int i)
    {
        return (scoreboard_image->servers[i]);
    }
  
  
  
  1.15      +1 -1      apache/src/http_main.h
  
  Index: http_main.h
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_main.h,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -c -C3 -r1.14 -r1.15
  *** http_main.h	1997/07/13 19:01:12	1.14
  --- http_main.h	1997/07/15 21:39:55	1.15
  ***************
  *** 91,97 ****
    API_EXPORT(void) kill_timeout (request_rec *);     
    API_EXPORT(void) reset_timeout (request_rec *);
    
  ! void sync_scoreboard_image ();
    int update_child_status (int child_num, int status, request_rec *r);
    void time_process_request (int child_num, int status);
    unsigned int set_callback_and_alarm(void (*fn)(int), int x);
  --- 91,97 ----
    API_EXPORT(void) kill_timeout (request_rec *);     
    API_EXPORT(void) reset_timeout (request_rec *);
    
  ! API_EXPORT(void) sync_scoreboard_image ();
    int update_child_status (int child_num, int status, request_rec *r);
    void time_process_request (int child_num, int status);
    unsigned int set_callback_and_alarm(void (*fn)(int), int x);
  
  
  
  1.138     +19 -17    apache/src/http_protocol.c
  
  Index: http_protocol.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_protocol.c,v
  retrieving revision 1.137
  retrieving revision 1.138
  diff -c -C3 -r1.137 -r1.138
  *** http_protocol.c	1997/07/15 15:52:42	1.137
  --- http_protocol.c	1997/07/15 21:39:56	1.138
  ***************
  *** 108,114 ****
    
    static int internal_byterange(int, long*, request_rec*, char**, long*, long*);
    
  ! int set_byterange (request_rec *r)
    {
        char *range, *if_range, *match;
        char ts[MAX_STRING_LEN];
  --- 108,114 ----
    
    static int internal_byterange(int, long*, request_rec*, char**, long*, long*);
    
  ! API_EXPORT(int) set_byterange (request_rec *r)
    {
        char *range, *if_range, *match;
        char ts[MAX_STRING_LEN];
  ***************
  *** 182,188 ****
        return 1;
    }
    
  ! int each_byterange (request_rec *r, long *offset, long *length)
    {
        return internal_byterange(1, NULL, r, &r->range, offset, length);
    }
  --- 182,188 ----
        return 1;
    }
    
  ! API_EXPORT(int) each_byterange (request_rec *r, long *offset, long *length)
    {
        return internal_byterange(1, NULL, r, &r->range, offset, length);
    }
  ***************
  *** 245,251 ****
        return 1;
    }
    
  ! int set_content_length (request_rec *r, long clength)
    {
        char ts[MAX_STRING_LEN];
    
  --- 245,251 ----
        return 1;
    }
    
  ! API_EXPORT(int) set_content_length (request_rec *r, long clength)
    {
        char ts[MAX_STRING_LEN];
    
  ***************
  *** 344,350 ****
        return 0;
    }
    
  ! int set_last_modified(request_rec *r, time_t mtime)
    {
        char *etag, weak_etag[MAX_STRING_LEN];
        char *if_match, *if_modified_since, *if_unmodified, *if_nonematch;
  --- 344,350 ----
        return 0;
    }
    
  ! API_EXPORT(int) set_last_modified(request_rec *r, time_t mtime)
    {
        char *etag, weak_etag[MAX_STRING_LEN];
        char *if_match, *if_modified_since, *if_unmodified, *if_nonematch;
  ***************
  *** 883,889 ****
    /* Support for the Basic authentication protocol, and a bit for Digest.
     */
    
  ! void note_auth_failure(request_rec *r)
    {
        if (!strcasecmp(auth_type(r), "Basic"))
          note_basic_auth_failure(r);
  --- 883,889 ----
    /* Support for the Basic authentication protocol, and a bit for Digest.
     */
    
  ! API_EXPORT(void) note_auth_failure(request_rec *r)
    {
        if (!strcasecmp(auth_type(r), "Basic"))
          note_basic_auth_failure(r);
  ***************
  *** 891,897 ****
          note_digest_auth_failure(r);
    }
    
  ! void note_basic_auth_failure(request_rec *r)
    {
        if (strcasecmp(auth_type(r), "Basic"))
          note_auth_failure(r);
  --- 891,897 ----
          note_digest_auth_failure(r);
    }
    
  ! API_EXPORT(void) note_basic_auth_failure(request_rec *r)
    {
        if (strcasecmp(auth_type(r), "Basic"))
          note_auth_failure(r);
  ***************
  *** 900,906 ****
    		 pstrcat(r->pool, "Basic realm=\"", auth_name(r), "\"", NULL));
    }
    
  ! void note_digest_auth_failure(request_rec *r)
    {
        char nonce[256];
    
  --- 900,906 ----
    		 pstrcat(r->pool, "Basic realm=\"", auth_name(r), "\"", NULL));
    }
    
  ! API_EXPORT(void) note_digest_auth_failure(request_rec *r)
    {
        char nonce[256];
    
  ***************
  *** 910,916 ****
                           "\", nonce=\"", nonce, "\"", NULL));
    }
    
  ! int get_basic_auth_pw (request_rec *r, char **pw)
    {
        const char *auth_line = table_get (r->headers_in, "Authorization");
        char *t;
  --- 910,916 ----
                           "\", nonce=\"", nonce, "\"", NULL));
    }
    
  ! API_EXPORT(int) get_basic_auth_pw (request_rec *r, char **pw)
    {
        const char *auth_line = table_get (r->headers_in, "Authorization");
        char *t;
  ***************
  *** 1525,1533 ****
        return (chunk_start + len_read);
    }
    
  ! long send_fd(FILE *f, request_rec *r) { return send_fd_length(f, r, -1); }
    
  ! long send_fd_length(FILE *f, request_rec *r, long length)
    {
        char buf[IOBUFSIZE];
        long total_bytes_sent = 0;
  --- 1525,1535 ----
        return (chunk_start + len_read);
    }
    
  ! API_EXPORT(long)send_fd(FILE *f, request_rec *r) {
  !     return send_fd_length(f, r, -1);
  ! }
    
  ! API_EXPORT(long) send_fd_length(FILE *f, request_rec *r, long length)
    {
        char buf[IOBUFSIZE];
        long total_bytes_sent = 0;
  ***************
  *** 1582,1588 ****
        return total_bytes_sent;
    }
    
  ! int rputc (int c, request_rec *r)
    {
        if (r->connection->aborted) return EOF;
        bputc(c, r->connection->client);
  --- 1584,1590 ----
        return total_bytes_sent;
    }
    
  ! API_EXPORT(int) rputc (int c, request_rec *r)
    {
        if (r->connection->aborted) return EOF;
        bputc(c, r->connection->client);
  ***************
  *** 1590,1603 ****
        return c;
    }
    
  ! int rputs(const char *str, request_rec *r)
    {
        if (r->connection->aborted) return EOF;
        SET_BYTES_SENT(r);
        return bputs(str, r->connection->client);
    }
    
  ! int rwrite(const void *buf, int nbyte, request_rec *r)
    {
        int n;
        if (r->connection->aborted) return EOF;
  --- 1592,1605 ----
        return c;
    }
    
  ! API_EXPORT(int) rputs(const char *str, request_rec *r)
    {
        if (r->connection->aborted) return EOF;
        SET_BYTES_SENT(r);
        return bputs(str, r->connection->client);
    }
    
  ! API_EXPORT(int) rwrite(const void *buf, int nbyte, request_rec *r)
    {
        int n;
        if (r->connection->aborted) return EOF;
  ***************
  *** 1606,1612 ****
        return n;
    }
    
  ! int rprintf(request_rec *r,const char *fmt,...)
    {
        va_list vlist;
        int n;
  --- 1608,1614 ----
        return n;
    }
    
  ! API_EXPORT(int) rprintf(request_rec *r,const char *fmt,...)
    {
        va_list vlist;
        int n;
  ***************
  *** 1619,1625 ****
        return n;
    }
    
  ! int rvputs(request_rec *r, ...)
    {
        va_list args;
        int i, j, k;
  --- 1621,1627 ----
        return n;
    }
    
  ! API_EXPORT_NONSTD(int) rvputs(request_rec *r, ...)
    {
        va_list args;
        int i, j, k;
  ***************
  *** 1648,1654 ****
        return k;
    }
    
  ! int rflush (request_rec *r) {
        return bflush(r->connection->client);
    }
    
  --- 1650,1656 ----
        return k;
    }
    
  ! API_EXPORT(int) rflush (request_rec *r) {
        return bflush(r->connection->client);
    }
    
  ***************
  *** 1919,1925 ****
     * comes along?
     */
    
  ! void client_to_stdout (conn_rec *c)
    {
        bflush(c->client);
        dup2(c->client->fd, STDOUT_FILENO);
  --- 1921,1927 ----
     * comes along?
     */
    
  ! API_EXPORT(void) client_to_stdout (conn_rec *c)
    {
        bflush(c->client);
        dup2(c->client->fd, STDOUT_FILENO);
  
  
  
  1.23      +17 -17    apache/src/http_protocol.h
  
  Index: http_protocol.h
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_protocol.h,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -c -C3 -r1.22 -r1.23
  *** http_protocol.h	1997/07/14 11:28:55	1.22
  --- http_protocol.h	1997/07/15 21:39:56	1.23
  ***************
  *** 93,101 ****
     * permit_cache argument is set to one).
     */
    
  ! int set_content_length (request_rec *r, long length);
    int set_keepalive (request_rec *r);
  ! int set_last_modified (request_rec *r, time_t mtime);
    
    /* Other ways to send stuff at the client.  All of these keep track
     * of bytes_sent automatically.  This indirection is intended to make
  --- 93,101 ----
     * permit_cache argument is set to one).
     */
    
  ! API_EXPORT(int) set_content_length (request_rec *r, long length);
    int set_keepalive (request_rec *r);
  ! API_EXPORT(int) set_last_modified (request_rec *r, time_t mtime);
    
    /* Other ways to send stuff at the client.  All of these keep track
     * of bytes_sent automatically.  This indirection is intended to make
  ***************
  *** 108,126 ****
     * (Ditto the send_header stuff).
     */
    
  ! long send_fd(FILE *f, request_rec *r);
  ! long send_fd_length(FILE *f, request_rec *r, long length);
         
    /* Hmmm... could macrofy these for now, and maybe forever, though the
     * definitions of the macros would get a whole lot hairier.
     */
         
  ! int rputc (int c, request_rec *r);     
  ! int rputs(const char *str, request_rec *r);
  ! int rwrite(const void *buf, int nbyte, request_rec *r);
  ! int rvputs(request_rec *r, ...);
  ! int rprintf(request_rec *r,const char *fmt,...);
  ! int rflush(request_rec *r);
         
    /*
     * Index used in custom_responses array for a specific error code
  --- 108,126 ----
     * (Ditto the send_header stuff).
     */
    
  ! API_EXPORT(long) send_fd(FILE *f, request_rec *r);
  ! API_EXPORT(long) send_fd_length(FILE *f, request_rec *r, long length);
         
    /* Hmmm... could macrofy these for now, and maybe forever, though the
     * definitions of the macros would get a whole lot hairier.
     */
         
  ! API_EXPORT(int) rputc (int c, request_rec *r);     
  ! API_EXPORT(int) rputs(const char *str, request_rec *r);
  ! API_EXPORT(int) rwrite(const void *buf, int nbyte, request_rec *r);
  ! API_EXPORT_NONSTD(int) rvputs(request_rec *r, ...);
  ! API_EXPORT_NONSTD(int) rprintf(request_rec *r,const char *fmt,...);
  ! API_EXPORT(int) rflush(request_rec *r);
         
    /*
     * Index used in custom_responses array for a specific error code
  ***************
  *** 137,144 ****
    
    /* Sending a byterange */
    
  ! int set_byterange (request_rec *r);
  ! int each_byterange (request_rec *r, long *offset, long *length);
         
    /* Finally, this charming little number is here to encapsulate the
     * degree to which nph- scripts completely escape from any discipline
  --- 137,144 ----
    
    /* Sending a byterange */
    
  ! API_EXPORT(int) set_byterange (request_rec *r);
  ! API_EXPORT(int) each_byterange (request_rec *r, long *offset, long *length);
         
    /* Finally, this charming little number is here to encapsulate the
     * degree to which nph- scripts completely escape from any discipline
  ***************
  *** 147,153 ****
     * to explicitly set the status line).
     */
    
  ! void client_to_stdout (conn_rec *c); 
    
    
    /* Support for the Basic authentication protocol.  Note that there's
  --- 147,153 ----
     * to explicitly set the status line).
     */
    
  ! API_EXPORT(void) client_to_stdout (conn_rec *c); 
    
    
    /* Support for the Basic authentication protocol.  Note that there's
  ***************
  *** 172,181 ****
     *
     */
    
  ! void note_auth_failure(request_rec *r);
  ! void note_basic_auth_failure(request_rec *r);
  ! void note_digest_auth_failure(request_rec *r);
  ! int get_basic_auth_pw (request_rec *r, char **pw);
    
    /*
     * Setting up the protocol fields for subsidiary requests...
  --- 172,181 ----
     *
     */
    
  ! API_EXPORT(void) note_auth_failure(request_rec *r);
  ! API_EXPORT(void) note_basic_auth_failure(request_rec *r);
  ! API_EXPORT(void) note_digest_auth_failure(request_rec *r);
  ! API_EXPORT(int) get_basic_auth_pw (request_rec *r, char **pw);
    
    /*
     * Setting up the protocol fields for subsidiary requests...
  
  
  
  1.62      +8 -6      apache/src/http_request.c
  
  Index: http_request.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_request.c,v
  retrieving revision 1.61
  retrieving revision 1.62
  diff -c -C3 -r1.61 -r1.62
  *** http_request.c	1997/07/14 02:32:10	1.61
  --- http_request.c	1997/07/15 21:39:57	1.62
  ***************
  *** 601,607 ****
    }
    
    
  ! request_rec *sub_req_lookup_uri (const char *new_file, const request_rec *r)
    {
        request_rec *rnew;
        int res;
  --- 601,608 ----
    }
    
    
  ! API_EXPORT(request_rec *) sub_req_lookup_uri (const char *new_file,
  ! 					      const request_rec *r)
    {
        request_rec *rnew;
        int res;
  ***************
  *** 676,682 ****
        return rnew;
    }
    
  ! request_rec *sub_req_lookup_file (const char *new_file, const request_rec *r)
    {
        request_rec *rnew;
        int res;
  --- 677,684 ----
        return rnew;
    }
    
  ! API_EXPORT(request_rec *) sub_req_lookup_file (const char *new_file,
  ! 					       const request_rec *r)
    {
        request_rec *rnew;
        int res;
  ***************
  *** 764,777 ****
        return rnew;
    }
    
  ! int run_sub_req (request_rec *r)
    {
        int retval = invoke_handler (r);
        finalize_sub_req_protocol (r);
        return retval;
    }
    
  ! void destroy_sub_req (request_rec *r)
    {
        /* Reclaim the space */
        destroy_pool (r->pool);
  --- 766,779 ----
        return rnew;
    }
    
  ! API_EXPORT(int) run_sub_req (request_rec *r)
    {
        int retval = invoke_handler (r);
        finalize_sub_req_protocol (r);
        return retval;
    }
    
  ! API_EXPORT(void) destroy_sub_req (request_rec *r)
    {
        /* Reclaim the space */
        destroy_pool (r->pool);
  ***************
  *** 1116,1122 ****
        return new;
    }
    
  ! void internal_redirect (const char *new_uri, request_rec *r)
    {
        request_rec *new = internal_internal_redirect(new_uri, r);
        process_request_internal (new);
  --- 1118,1124 ----
        return new;
    }
    
  ! API_EXPORT(void) internal_redirect (const char *new_uri, request_rec *r)
    {
        request_rec *new = internal_internal_redirect(new_uri, r);
        process_request_internal (new);
  ***************
  *** 1139,1145 ****
     * it is the initial main request, which we only get *once* per HTTP request 
     */
    
  ! int is_initial_req(request_rec *r)
    {
        return
    	(r->main == NULL) /* otherwise, this is a sub-request */
  --- 1141,1147 ----
     * it is the initial main request, which we only get *once* per HTTP request 
     */
    
  ! API_EXPORT(int) is_initial_req(request_rec *r)
    {
        return
    	(r->main == NULL) /* otherwise, this is a sub-request */
  
  
  
  1.13      +8 -6      apache/src/http_request.h
  
  Index: http_request.h
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_request.h,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -c -C3 -r1.12 -r1.13
  *** http_request.h	1997/07/13 19:01:13	1.12
  --- http_request.h	1997/07/15 21:39:57	1.13
  ***************
  *** 70,79 ****
     * about which was allocated in its pool elsewhere before doing this.
     */
    
  ! request_rec *sub_req_lookup_uri (const char *new_file, const request_rec *r);
  ! request_rec *sub_req_lookup_file (const char *new_file, const request_rec *r);
  ! int run_sub_req (request_rec *r);
  ! void destroy_sub_req (request_rec *r);
         
    /*
     * Then there's the case that you want some other request to be served
  --- 70,81 ----
     * about which was allocated in its pool elsewhere before doing this.
     */
    
  ! API_EXPORT(request_rec *) sub_req_lookup_uri (const char *new_file,
  ! 					      const request_rec *r);
  ! API_EXPORT(request_rec *) sub_req_lookup_file (const char *new_file,
  ! 					       const request_rec *r);
  ! API_EXPORT(int) run_sub_req (request_rec *r);
  ! API_EXPORT(void) destroy_sub_req (request_rec *r);
         
    /*
     * Then there's the case that you want some other request to be served
  ***************
  *** 81,90 ****
     * If so, call this from a handler, and then immediately return OK.
     */
    
  ! void internal_redirect (const char *new_uri, request_rec *);     
    API_EXPORT(void) internal_redirect_handler (const char *new_uri, request_rec *);
    API_EXPORT(int) some_auth_required (request_rec *r);
  ! int is_initial_req(request_rec *r);
    
    #ifdef CORE_PRIVATE
    /* Function called by main.c to handle first-level request */
  --- 83,92 ----
     * If so, call this from a handler, and then immediately return OK.
     */
    
  ! API_EXPORT(void) internal_redirect (const char *new_uri, request_rec *);     
    API_EXPORT(void) internal_redirect_handler (const char *new_uri, request_rec *);
    API_EXPORT(int) some_auth_required (request_rec *r);
  ! API_EXPORT(int) is_initial_req(request_rec *r);
    
    #ifdef CORE_PRIVATE
    /* Function called by main.c to handle first-level request */
  
  
  
  1.127     +41 -39    apache/src/httpd.h
  
  Index: httpd.h
  ===================================================================
  RCS file: /export/home/cvs/apache/src/httpd.h,v
  retrieving revision 1.126
  retrieving revision 1.127
  diff -c -C3 -r1.126 -r1.127
  *** httpd.h	1997/07/13 19:01:14	1.126
  --- httpd.h	1997/07/15 21:39:57	1.127
  ***************
  *** 678,737 ****
     */
    
    /* Time */
  ! extern const char month_snames[12][4];
    
  ! struct tm *get_gmtoff(int *tz);
    API_EXPORT(char *) get_time();
  ! char *ht_time (pool *p, time_t t, const char *fmt, int gmt);     
  ! char *gm_timestr_822(pool *p, time_t t);
         
    /* String handling. The *_nc variants allow you to use non-const char **s as
    arguments (unfortunately C won't automatically convert a char ** to a const
    char **) */     
         
    API_EXPORT(char *) getword(pool *p, const char **line, char stop);
  ! char *getword_nc(pool *p, char **line, char stop);
  ! char *getword_white(pool *p, const char **line);
  ! char *getword_white_nc(pool *p, char **line);
  ! char *getword_nulls (pool *p, const char **line, char stop);
  ! char *getword_nulls_nc (pool *p, char **line, char stop);
    API_EXPORT(char *) getword_conf (pool *p, const char **line);      
  ! char *getword_conf_nc (pool *p, char **line);      
    
  ! char *get_token (pool *p, char **accept_line, int accept_white);
  ! int find_token (pool *p, const char *line, const char *tok);
  ! int find_last_token (pool *p, const char *line, const char *tok);
         
    API_EXPORT(int) is_url(const char *u);
  ! extern int unescape_url(char *url);
  ! void no2slash(char *name);
  ! void getparents(char *name);
  ! char *escape_path_segment(pool *p, const char *s);
    API_EXPORT(char *) os_escape_path(pool *p,const char *path,int partial);
    #define escape_uri(ppool,path) os_escape_path(ppool,path,1)
  ! extern char *escape_html(pool *p, const char *s);
  ! char *construct_server(pool *p, const char *hostname, unsigned port);
  ! char *construct_url (pool *p, const char *path, const server_rec *s);     
  ! char *escape_shell_cmd (pool *p, const char *s);
  !      
  ! int count_dirs(const char *path);
  ! char *make_dirstr_prefix (char *d, const char *s, int n);
  ! char *make_dirstr_parent (pool *p, const char *s);
    /* deprecated.  The previous two routines are preferred. */
  ! char *make_dirstr(pool *a, const char *s, int n);
  ! char *make_full_path(pool *a, const char *dir, const char *f);
  !      
  ! int is_matchexp(const char *str);
  ! int strcmp_match(const char *str, const char *exp);
  ! int strcasecmp_match(const char *str, const char *exp);
  ! char *uudecode (pool *, const char *);
    
    API_EXPORT(char *) pregsub(pool *p, const char *input, const char *source,
    	      size_t nmatch, regmatch_t pmatch[]);
    
    API_EXPORT(void) str_tolower (char *);
  ! int ind (const char *, char);	/* Sigh... */
  ! int rind (const char *, char);     
    
    API_EXPORT(int) cfg_getline(char *s, int n, FILE *f);
    
  --- 678,739 ----
     */
    
    /* Time */
  ! extern MODULE_VAR_EXPORT const char month_snames[12][4];
    
  ! API_EXPORT(struct tm *) get_gmtoff(int *tz);
    API_EXPORT(char *) get_time();
  ! API_EXPORT(char *) ht_time (pool *p, time_t t, const char *fmt, int gmt);     
  ! API_EXPORT(char *) gm_timestr_822(pool *p, time_t t);
         
    /* String handling. The *_nc variants allow you to use non-const char **s as
    arguments (unfortunately C won't automatically convert a char ** to a const
    char **) */     
         
    API_EXPORT(char *) getword(pool *p, const char **line, char stop);
  ! API_EXPORT(char *) getword_nc(pool *p, char **line, char stop);
  ! API_EXPORT(char *) getword_white(pool *p, const char **line);
  ! API_EXPORT(char *) getword_white_nc(pool *p, char **line);
  ! API_EXPORT(char *) getword_nulls (pool *p, const char **line, char stop);
  ! API_EXPORT(char *) getword_nulls_nc (pool *p, char **line, char stop);
    API_EXPORT(char *) getword_conf (pool *p, const char **line);      
  ! API_EXPORT(char *) getword_conf_nc (pool *p, char **line);      
    
  ! API_EXPORT(char *) get_token (pool *p, char **accept_line, int accept_white);
  ! API_EXPORT(int) find_token (pool *p, const char *line, const char *tok);
  ! API_EXPORT(int) find_last_token (pool *p, const char *line, const char *tok);
         
    API_EXPORT(int) is_url(const char *u);
  ! API_EXPORT(int) unescape_url(char *url);
  ! API_EXPORT(void) no2slash(char *name);
  ! API_EXPORT(void) getparents(char *name);
  ! API_EXPORT(char *) escape_path_segment(pool *p, const char *s);
    API_EXPORT(char *) os_escape_path(pool *p,const char *path,int partial);
    #define escape_uri(ppool,path) os_escape_path(ppool,path,1)
  ! API_EXPORT(char *) escape_html(pool *p, const char *s);
  ! API_EXPORT(char *) construct_server(pool *p, const char *hostname,
  ! 				    unsigned port);
  ! API_EXPORT(char *) construct_url (pool *p, const char *path,
  ! 				  const server_rec *s);     
  ! API_EXPORT(char *) escape_shell_cmd (pool *p, const char *s);
  !      
  ! API_EXPORT(int) count_dirs(const char *path);
  ! API_EXPORT(char *) make_dirstr_prefix (char *d, const char *s, int n);
  ! API_EXPORT(char *) make_dirstr_parent (pool *p, const char *s);
    /* deprecated.  The previous two routines are preferred. */
  ! API_EXPORT(char *) make_dirstr(pool *a, const char *s, int n);
  ! API_EXPORT(char *) make_full_path(pool *a, const char *dir, const char *f);
  !   
  ! API_EXPORT(int) is_matchexp(const char *str);
  ! API_EXPORT(int) strcmp_match(const char *str, const char *exp);
  ! API_EXPORT(int) strcasecmp_match(const char *str, const char *exp);
  ! API_EXPORT(char *) uudecode (pool *, const char *);
    
    API_EXPORT(char *) pregsub(pool *p, const char *input, const char *source,
    	      size_t nmatch, regmatch_t pmatch[]);
    
    API_EXPORT(void) str_tolower (char *);
  ! API_EXPORT(int) ind (const char *, char);	/* Sigh... */
  ! API_EXPORT(int) rind (const char *, char);     
    
    API_EXPORT(int) cfg_getline(char *s, int n, FILE *f);
    
  ***************
  *** 741,756 ****
    
    /* Misc system hackery */
         
  ! uid_t uname2id(const char *name);
  ! gid_t gname2id(const char *name);
  ! int is_directory(const char *name);
    API_EXPORT(int) can_exec(const struct stat *);     
    API_EXPORT(void) chdir_file(const char *file);
         
    char *get_local_host(pool *);
    unsigned long get_virthost_addr (const char *hostname, unsigned short *port);
    
  ! extern time_t restart_time;
    
    /*
     * Apache tries to keep all of its long term filehandles (such as log files,
  --- 743,758 ----
    
    /* Misc system hackery */
         
  ! API_EXPORT(uid_t) uname2id(const char *name);
  ! API_EXPORT(gid_t) gname2id(const char *name);
  ! API_EXPORT(int) is_directory(const char *name);
    API_EXPORT(int) can_exec(const struct stat *);     
    API_EXPORT(void) chdir_file(const char *file);
         
    char *get_local_host(pool *);
    unsigned long get_virthost_addr (const char *hostname, unsigned short *port);
    
  ! MODULE_VAR_EXPORT time_t restart_time;
    
    /*
     * Apache tries to keep all of its long term filehandles (such as log files,
  ***************
  *** 787,791 ****
    /*
     * Redefine assert() to something more useful for an Apache...
     */
  ! void log_assert(const char *szExp,const char *szFile,int nLine);
    #define ap_assert(exp) (void)( (exp) || (log_assert(#exp, __FILE__, __LINE__), 0) )
  --- 789,793 ----
    /*
     * Redefine assert() to something more useful for an Apache...
     */
  ! API_EXPORT(void) log_assert(const char *szExp,const char *szFile,int nLine);
    #define ap_assert(exp) (void)( (exp) || (log_assert(#exp, __FILE__, __LINE__), 0) )
  
  
  
  1.25      +3 -3      apache/src/scoreboard.h
  
  Index: scoreboard.h
  ===================================================================
  RCS file: /export/home/cvs/apache/src/scoreboard.h,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -c -C3 -r1.24 -r1.25
  *** scoreboard.h	1997/07/07 14:34:28	1.24
  --- scoreboard.h	1997/07/15 21:39:58	1.25
  ***************
  *** 114,122 ****
    
    #define SCOREBOARD_SIZE		sizeof(scoreboard)
    
  ! extern void sync_scoreboard_image(void);
  ! short_score get_scoreboard_info(int x);
  ! int exists_scoreboard_image ();
    
    /* for time_process_request() in http_main.c */
    #define START_PREQUEST 1
  --- 114,122 ----
    
    #define SCOREBOARD_SIZE		sizeof(scoreboard)
    
  ! API_EXPORT(void) sync_scoreboard_image(void);
  ! API_EXPORT(short_score) get_scoreboard_info(int x);
  ! API_EXPORT(int) exists_scoreboard_image ();
    
    /* for time_process_request() in http_main.c */
    #define START_PREQUEST 1
  
  
  
  1.62      +38 -36    apache/src/util.c
  
  Index: util.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/util.c,v
  retrieving revision 1.61
  retrieving revision 1.62
  diff -c -C3 -r1.61 -r1.62
  *** util.c	1997/07/13 19:01:16	1.61
  --- util.c	1997/07/15 21:39:58	1.62
  ***************
  *** 75,81 ****
        return (time_string);
    }
    
  ! char *ht_time(pool *p, time_t t, const char *fmt, int gmt) {
        char ts[MAX_STRING_LEN];
        struct tm *tms;
    
  --- 75,81 ----
        return (time_string);
    }
    
  ! API_EXPORT(char *) ht_time(pool *p, time_t t, const char *fmt, int gmt) {
        char ts[MAX_STRING_LEN];
        struct tm *tms;
    
  ***************
  *** 86,92 ****
        return pstrdup (p, ts);
    }
    
  ! char *gm_timestr_822(pool *p, time_t sec) {
        static const char *const days[7]=
           {"Sun","Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
        char ts[50];
  --- 86,92 ----
        return pstrdup (p, ts);
    }
    
  ! API_EXPORT(char *) gm_timestr_822(pool *p, time_t sec) {
        static const char *const days[7]=
           {"Sun","Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
        char ts[50];
  ***************
  *** 105,111 ****
    
    /* What a pain in the ass. */
    #if defined(HAVE_GMTOFF)
  ! struct tm *get_gmtoff(int *tz) {
        time_t tt = time(NULL);
        struct tm *t;
    
  --- 105,111 ----
    
    /* What a pain in the ass. */
    #if defined(HAVE_GMTOFF)
  ! API_EXPORT(struct tm *) get_gmtoff(int *tz) {
        time_t tt = time(NULL);
        struct tm *t;
    
  ***************
  *** 114,120 ****
        return t;
    }
    #else
  ! struct tm *get_gmtoff(int *tz) {
        time_t tt = time(NULL);
        struct tm gmt;
        struct tm *t;
  --- 114,120 ----
        return t;
    }
    #else
  ! API_EXPORT(struct tm *) get_gmtoff(int *tz) {
        time_t tt = time(NULL);
        struct tm gmt;
        struct tm *t;
  ***************
  *** 137,143 ****
    /* Based loosely on sections of wildmat.c by Rich Salz
     * Hmmm... shouldn't this really go component by component?
     */
  ! int strcmp_match(const char *str, const char *exp) {
        int x,y;
    
        for(x=0,y=0;exp[y];++y,++x) {
  --- 137,143 ----
    /* Based loosely on sections of wildmat.c by Rich Salz
     * Hmmm... shouldn't this really go component by component?
     */
  ! API_EXPORT(int) strcmp_match(const char *str, const char *exp) {
        int x,y;
    
        for(x=0,y=0;exp[y];++y,++x) {
  ***************
  *** 160,166 ****
        return (str[x] != '\0');
    }
    
  ! int strcasecmp_match(const char *str, const char *exp) {
        int x,y;
    
        for(x=0,y=0;exp[y];++y,++x) {
  --- 160,166 ----
        return (str[x] != '\0');
    }
    
  ! API_EXPORT(int) strcasecmp_match(const char *str, const char *exp) {
        int x,y;
    
        for(x=0,y=0;exp[y];++y,++x) {
  ***************
  *** 183,189 ****
        return (str[x] != '\0');
    }
    
  ! int is_matchexp(const char *str) {
        register int x;
    
        for(x=0;str[x];x++)
  --- 183,189 ----
        return (str[x] != '\0');
    }
    
  ! API_EXPORT(int) is_matchexp(const char *str) {
        register int x;
    
        for(x=0;str[x];x++)
  ***************
  *** 274,280 ****
    /*
     * Parse .. so we don't compromise security
     */
  ! void getparents(char *name)
    {
        int l, w;
    
  --- 274,280 ----
    /*
     * Parse .. so we don't compromise security
     */
  ! API_EXPORT(void) getparents(char *name)
    {
        int l, w;
    
  ***************
  *** 329,335 ****
        }
    } 
    
  ! void no2slash(char *name) {
        register int x,y;
    
        for(x=0; name[x];)
  --- 329,335 ----
        }
    } 
    
  ! API_EXPORT(void) no2slash(char *name) {
        register int x,y;
    
        for(x=0; name[x];)
  ***************
  *** 352,358 ****
     *    /a/b, 3  ==> /a/b/
     *    /a/b, 4  ==> /a/b/
     */
  ! char *make_dirstr_prefix (char *d, const char *s, int n)
    {
        for(;;) {
    	*d = *s;
  --- 352,358 ----
     *    /a/b, 3  ==> /a/b/
     *    /a/b, 4  ==> /a/b/
     */
  ! API_EXPORT(char *) make_dirstr_prefix (char *d, const char *s, int n)
    {
        for(;;) {
    	*d = *s;
  ***************
  *** 372,378 ****
    /*
     * return the parent directory name including trailing / of the file s
     */
  ! char *make_dirstr_parent (pool *p, const char *s)
    {
        char *last_slash = strrchr (s, '/');
        char *d;
  --- 372,378 ----
    /*
     * return the parent directory name including trailing / of the file s
     */
  ! API_EXPORT(char *) make_dirstr_parent (pool *p, const char *s)
    {
        char *last_slash = strrchr (s, '/');
        char *d;
  ***************
  *** 394,400 ****
     * This function is deprecated.  Use one of the preceeding two functions
     * which are faster.
     */
  ! char *make_dirstr(pool *p, const char *s, int n) {
        register int x,f;
        char *res;
    
  --- 394,400 ----
     * This function is deprecated.  Use one of the preceeding two functions
     * which are faster.
     */
  ! API_EXPORT(char *) make_dirstr(pool *p, const char *s, int n) {
        register int x,f;
        char *res;
    
  ***************
  *** 415,421 ****
            return pstrcat (p, s, "/", NULL);
    }
    
  ! int count_dirs(const char *path) {
        register int x,n;
    
        for(x=0,n=0;path[x];x++)
  --- 415,421 ----
            return pstrcat (p, s, "/", NULL);
    }
    
  ! API_EXPORT(int) count_dirs(const char *path) {
        register int x,n;
    
        for(x=0,n=0;path[x];x++)
  ***************
  *** 434,440 ****
        ((char *)file)[i] = '/';
    }
    
  ! char *getword_nc(pool* atrans, char **line, char stop)
        {
        return getword(atrans,(const char **)line,stop);
        }
  --- 434,440 ----
        ((char *)file)[i] = '/';
    }
    
  ! API_EXPORT(char *) getword_nc(pool* atrans, char **line, char stop)
        {
        return getword(atrans,(const char **)line,stop);
        }
  ***************
  *** 460,471 ****
        return res;
    }
    
  ! char *getword_white_nc(pool* atrans, char **line)
    {
        return getword_white(atrans,(const char **)line);
    }
    
  ! char *getword_white(pool* atrans, const char **line) {
        int pos = -1, x;
        char *res;
    
  --- 460,471 ----
        return res;
    }
    
  ! API_EXPORT(char *) getword_white_nc(pool* atrans, char **line)
    {
        return getword_white(atrans,(const char **)line);
    }
    
  ! API_EXPORT(char *) getword_white(pool* atrans, const char **line) {
        int pos = -1, x;
        char *res;
    
  ***************
  *** 493,504 ****
        return res;
    }
    
  ! char *getword_nulls_nc(pool* atrans, char **line, char stop)
    {
        return getword_nulls(atrans,(const char **)line,stop);
    }
    
  ! char *getword_nulls(pool* atrans, const char **line, char stop) {
        int pos = ind(*line, stop);
        char *res;
    
  --- 493,504 ----
        return res;
    }
    
  ! API_EXPORT(char *) getword_nulls_nc(pool* atrans, char **line, char stop)
    {
        return getword_nulls(atrans,(const char **)line,stop);
    }
    
  ! API_EXPORT(char *) getword_nulls(pool* atrans, const char **line, char stop) {
        int pos = ind(*line, stop);
        char *res;
    
  ***************
  *** 541,547 ****
        return result;
    }
    
  ! char *getword_conf_nc(pool* p, char **line) {
        return getword_conf(p,(const char **)line);
    }
    
  --- 541,547 ----
        return result;
    }
    
  ! API_EXPORT(char *) getword_conf_nc(pool* p, char **line) {
        return getword_conf(p,(const char **)line);
    }
    
  ***************
  *** 643,649 ****
     * by whitespace at the caller's option.
     */
    
  ! char *get_token (pool *p, char **accept_line, int accept_white)
    {
        char *ptr = *accept_line;
        char *tok_start;
  --- 643,649 ----
     * by whitespace at the caller's option.
     */
    
  ! API_EXPORT(char *) get_token (pool *p, char **accept_line, int accept_white)
    {
        char *ptr = *accept_line;
        char *tok_start;
  ***************
  *** 717,723 ****
        return ret;
    }
    
  ! int find_token (pool *p, const char *line, const char *tok) {
        char *ltok;
        char *lcopy;
    
  --- 717,723 ----
        return ret;
    }
    
  ! API_EXPORT(int) find_token (pool *p, const char *line, const char *tok) {
        char *ltok;
        char *lcopy;
    
  ***************
  *** 731,737 ****
        return 0;
    }
    
  ! int find_last_token (pool *p, const char *line, const char *tok)
    {
        int llen, tlen, lidx;
    
  --- 731,737 ----
        return 0;
    }
    
  ! API_EXPORT(int) find_last_token (pool *p, const char *line, const char *tok)
    {
        int llen, tlen, lidx;
    
  ***************
  *** 748,754 ****
        return (strncasecmp(&line[lidx], tok, tlen) == 0);
    }
    
  ! char *escape_shell_cmd(pool *p, const char *s) {
        register int x,y,l;
        char *cmd;
    
  --- 748,754 ----
        return (strncasecmp(&line[lidx], tok, tlen) == 0);
    }
    
  ! API_EXPORT(char *) escape_shell_cmd(pool *p, const char *s) {
        register int x,y,l;
        char *cmd;
    
  ***************
  *** 809,816 ****
     *   decoding %2f -> /   (a special character)
     *                      returns NOT_FOUND
     */
  ! int
  ! unescape_url(char *url) {
        register int x,y, badesc, badpath;
    
        badesc = 0;
  --- 809,815 ----
     *   decoding %2f -> /   (a special character)
     *                      returns NOT_FOUND
     */
  ! API_EXPORT(int) unescape_url(char *url) {
        register int x,y, badesc, badpath;
    
        badesc = 0;
  ***************
  *** 837,843 ****
        else return OK;
    }
    
  ! char *construct_server(pool *p, const char *hostname, unsigned port) {
        char portnum[22];		
    	/* Long enough, even if port > 16 bits for some reason */
      
  --- 836,843 ----
        else return OK;
    }
    
  ! API_EXPORT(char *) construct_server(pool *p, const char *hostname,
  ! 				    unsigned port) {
        char portnum[22];		
    	/* Long enough, even if port > 16 bits for some reason */
      
  ***************
  *** 849,855 ****
        }
    }
    
  ! char *construct_url(pool *p, const char *uri, const server_rec *s) {
        return pstrcat (p, "http://",
    		    construct_server(p, s->server_hostname, s->port),
    		    uri, NULL);
  --- 849,856 ----
        }
    }
    
  ! API_EXPORT(char *)construct_url(pool *p, const char *uri,
  ! 				const server_rec *s) {
        return pstrcat (p, "http://",
    		    construct_server(p, s->server_hostname, s->port),
    		    uri, NULL);
  ***************
  *** 872,878 ****
    something with a '/' in it (and thus does not prefix "./").
    */
    
  ! char *escape_path_segment(pool *p, const char *segment) {
        register int x,y;
        char *copy = palloc (p, 3 * strlen (segment) + 1);
                
  --- 873,879 ----
    something with a '/' in it (and thus does not prefix "./").
    */
    
  ! API_EXPORT(char *) escape_path_segment(pool *p, const char *segment) {
        register int x,y;
        char *copy = palloc (p, 3 * strlen (segment) + 1);
                
  ***************
  *** 924,930 ****
    
    /* escape_uri is now a macro for os_escape_path */
    
  ! char *escape_html(pool *p, const char *s)
    {
        int i, j;
        char *x;
  --- 925,931 ----
    
    /* escape_uri is now a macro for os_escape_path */
    
  ! API_EXPORT(char *) escape_html(pool *p, const char *s)
    {
        int i, j;
        char *x;
  ***************
  *** 956,962 ****
        return x;
    }
    
  ! int is_directory(const char *path) {
        struct stat finfo;
    
        if(stat(path,&finfo) == -1)
  --- 957,963 ----
        return x;
    }
    
  ! API_EXPORT(int) is_directory(const char *path) {
        struct stat finfo;
    
        if(stat(path,&finfo) == -1)
  ***************
  *** 965,971 ****
        return(S_ISDIR(finfo.st_mode));
    }
    
  ! char *make_full_path(pool *a, const char *src1, const char *src2) {
        register int x;
    
        x = strlen(src1);
  --- 966,973 ----
        return(S_ISDIR(finfo.st_mode));
    }
    
  ! API_EXPORT(char *) make_full_path(pool *a, const char *src1,
  ! 				  const char *src2) {
        register int x;
    
        x = strlen(src1);
  ***************
  *** 1116,1122 ****
    }
    #endif
    
  ! int ind(const char *s, char c) {
        register int x;
    
        for(x=0;s[x];x++)
  --- 1118,1124 ----
    }
    #endif
    
  ! API_EXPORT(int) ind(const char *s, char c) {
        register int x;
    
        for(x=0;s[x];x++)
  ***************
  *** 1125,1131 ****
        return -1;
    }
    
  ! int rind(const char *s, char c) {
        register int x;
    
        for(x=strlen(s)-1;x != -1;x--)
  --- 1127,1133 ----
        return -1;
    }
    
  ! API_EXPORT(int) rind(const char *s, char c) {
        register int x;
    
        for(x=strlen(s)-1;x != -1;x--)
  ***************
  *** 1141,1147 ****
        }
    }
            
  ! uid_t uname2id(const char *name) {
    #ifdef WIN32
        return(1);
    #else
  --- 1143,1149 ----
        }
    }
            
  ! API_EXPORT(uid_t) uname2id(const char *name) {
    #ifdef WIN32
        return(1);
    #else
  ***************
  *** 1158,1164 ****
    #endif
    }
    
  ! gid_t gname2id(const char *name) {
    #ifdef WIN32
        return(1);
    #else
  --- 1160,1166 ----
    #endif
    }
    
  ! API_EXPORT(gid_t) gname2id(const char *name) {
    #ifdef WIN32
        return(1);
    #else
  ***************
  *** 1307,1313 ****
        64,64,64,64,64,64,64,64,64,64,64,64,64
    };
    
  ! char *uudecode(pool *p, const char *bufcoded) {
        int nbytesdecoded;
        register unsigned char *bufin;
        register char *bufplain;
  --- 1309,1315 ----
        64,64,64,64,64,64,64,64,64,64,64,64,64
    };
    
  ! API_EXPORT(char *) uudecode(pool *p, const char *bufcoded) {
        int nbytesdecoded;
        register unsigned char *bufin;
        register char *bufplain;
  
  
  
  1.8       +3 -3      apache/src/util_md5.c
  
  Index: util_md5.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/util_md5.c,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -c -C3 -r1.7 -r1.8
  *** util_md5.c	1997/01/01 18:10:46	1.7
  --- util_md5.c	1997/07/15 21:39:59	1.8
  ***************
  *** 82,88 ****
    #include "httpd.h"
    #include "util_md5.h"
    
  ! char *md5 (pool *p, unsigned char *string)
    {
        MD5_CTX my_md5;
        unsigned char hash[16];
  --- 82,88 ----
    #include "httpd.h"
    #include "util_md5.h"
    
  ! API_EXPORT(char *) md5 (pool *p, unsigned char *string)
    {
        MD5_CTX my_md5;
        unsigned char hash[16];
  ***************
  *** 149,155 ****
    static char basis_64[] =
       "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    
  ! char *md5contextTo64(pool *a, MD5_CTX *context)
    {
        unsigned char digest[18];
        char *encodedDigest;
  --- 149,155 ----
    static char basis_64[] =
       "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    
  ! API_EXPORT(char *) md5contextTo64(pool *a, MD5_CTX *context)
    {
        unsigned char digest[18];
        char *encodedDigest;
  ***************
  *** 174,180 ****
        return encodedDigest;
    }
    
  ! char *md5digest(pool *p, FILE *infile)
    {
        MD5_CTX context;
        unsigned char buf[1000];
  --- 174,180 ----
        return encodedDigest;
    }
    
  ! API_EXPORT(char *) md5digest(pool *p, FILE *infile)
    {
        MD5_CTX context;
        unsigned char buf[1000];
  
  
  
  1.6       +3 -3      apache/src/util_md5.h
  
  Index: util_md5.h
  ===================================================================
  RCS file: /export/home/cvs/apache/src/util_md5.h,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -c -C3 -r1.5 -r1.6
  *** util_md5.h	1997/01/01 18:10:46	1.5
  --- util_md5.h	1997/07/15 21:39:59	1.6
  ***************
  *** 52,58 ****
    
    #include "md5.h"
    
  ! char *md5(pool *a, unsigned char *string);
  ! char *md5contextTo64(pool *p, MD5_CTX *context);
  ! char *md5digest(pool *p, FILE *infile);
    
  --- 52,58 ----
    
    #include "md5.h"
    
  ! API_EXPORT(char *) md5(pool *a, unsigned char *string);
  ! API_EXPORT(char *) md5contextTo64(pool *p, MD5_CTX *context);
  ! API_EXPORT(char *) md5digest(pool *p, FILE *infile);
    
  
  
  
  1.66      +3 -3      apache/src/util_script.c
  
  Index: util_script.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/util_script.c,v
  retrieving revision 1.65
  retrieving revision 1.66
  diff -c -C3 -r1.65 -r1.66
  *** util_script.c	1997/07/14 11:28:56	1.65
  --- util_script.c	1997/07/15 21:39:59	1.66
  ***************
  *** 221,227 ****
     * and find as much of the two that match as possible.
     */
    
  ! int find_path_info (char *uri, char *path_info)
    {
        int lu = strlen(uri);
        int lp = strlen(path_info);
  --- 221,227 ----
     * and find as much of the two that match as possible.
     */
    
  ! API_EXPORT(int) find_path_info (char *uri, char *path_info)
    {
        int lu = strlen(uri);
        int lp = strlen(path_info);
  ***************
  *** 312,318 ****
        }
    }
    
  ! int scan_script_header_err(request_rec *r, FILE *f, char *buffer)
    {
        char x[MAX_STRING_LEN];
        char *w, *l;
  --- 312,318 ----
        }
    }
    
  ! API_EXPORT(int) scan_script_header_err(request_rec *r, FILE *f, char *buffer)
    {
        char x[MAX_STRING_LEN];
        char *w, *l;
  ***************
  *** 402,408 ****
        }
    }
    
  ! void send_size(size_t size, request_rec *r) {
        char ss[20];
    
        if(size == -1) 
  --- 402,408 ----
        }
    }
    
  ! API_EXPORT(void) send_size(size_t size, request_rec *r) {
        char ss[20];
    
        if(size == -1) 
  
  
  
  1.21      +3 -3      apache/src/util_script.h
  
  Index: util_script.h
  ===================================================================
  RCS file: /export/home/cvs/apache/src/util_script.h,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -c -C3 -r1.20 -r1.21
  *** util_script.h	1997/07/14 11:28:56	1.20
  --- util_script.h	1997/07/15 21:40:00	1.21
  ***************
  *** 59,69 ****
    #endif
    
    API_EXPORT(char **) create_environment(pool *p, table *t);
  ! int find_path_info(char *uri, char *path_info);
    API_EXPORT(void) add_cgi_vars(request_rec *r);
    API_EXPORT(void) add_common_vars(request_rec *r);
    #define scan_script_header(a1,a2) scan_script_header_err(a1,a2,NULL)
  ! int scan_script_header_err(request_rec *r, FILE *f, char *buffer);
  ! void send_size(size_t size, request_rec *r);
    API_EXPORT(int) call_exec (request_rec *r, char *argv0, char **env, int shellcmd);
    
  --- 59,69 ----
    #endif
    
    API_EXPORT(char **) create_environment(pool *p, table *t);
  ! API_EXPORT(int) find_path_info(char *uri, char *path_info);
    API_EXPORT(void) add_cgi_vars(request_rec *r);
    API_EXPORT(void) add_common_vars(request_rec *r);
    #define scan_script_header(a1,a2) scan_script_header_err(a1,a2,NULL)
  ! API_EXPORT(int) scan_script_header_err(request_rec *r, FILE *f, char *buffer);
  ! API_EXPORT(void) send_size(size_t size, request_rec *r);
    API_EXPORT(int) call_exec (request_rec *r, char *argv0, char **env, int shellcmd);
    
  
  
  

Mime
View raw message