httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <dgau...@arctic.org>
Subject Re: Changes to 1.2.1 for DEC Alpha
Date Thu, 21 Aug 1997 16:53:42 GMT
Rob you deleted his email addr ... 

A patch just like this wasn't accepted because it changes the calling
prototypes of API functions.  It's not necessary to change the prototypes,
it's only necessary to insert casts such as (void *)(long)fd.  Which is
exactly the solution used in 1.3.  In any event these warnings are
innocuous, apache never stores a real pointer into an integer, but does
the opposite a lot.  Storing ints in pointers is safe on the alpha. 

I'd be willing to accept a patch for 1.2 which doesn't change function
prototypes.

Dean

On Thu, 21 Aug 1997, Rob Hartill wrote:

> On Thu, 21 Aug 1997, Robert Uzgalis (ServeNet) wrote:
> 
> > Several ints should be longs because of the pointer size
> > on the Alpha.  Attached is a patch set for 1.2.1.  These
> > changes should not affect 32-bit machines since int and
> > long are the same size for them.  So there are no ifdefs.
> > 
> > If these changes have not been made in your most recent release
> > you should consider putting them in.
> 
> thanks for the patch.
> 
> rob
> -=-=-=--==-=-=-
> 
> 
> *** /tmp/T0aamtba	Thu Aug 21 08:57:37 1997
> --- alloc.c	Thu Aug 14 10:38:53 1997
> ***************
> *** 781,800 ****
>    * generic cleanup interface.
>    */
>   
> ! static void fd_cleanup (void *fdv) { close ((int)fdv); }
>   
> ! void note_cleanups_for_fd (pool *p, int fd) {
>     register_cleanup (p, (void *)fd, fd_cleanup, fd_cleanup);
>   }
>   
> ! void kill_cleanups_for_fd(pool *p,int fd)
>       {
>       kill_cleanup(p,(void *)fd,fd_cleanup);
>       }
>   
> ! int popenf(pool *a, const char *name, int flg, int mode)
>   {
> !   int fd;
>     int save_errno;
>   
>     block_alarms();
> --- 781,800 ----
>    * generic cleanup interface.
>    */
>   
> ! static void fd_cleanup (void *fdv) { close ((long)fdv); }
>   
> ! void note_cleanups_for_fd (pool *p, long fd) {
>     register_cleanup (p, (void *)fd, fd_cleanup, fd_cleanup);
>   }
>   
> ! void kill_cleanups_for_fd(pool *p,long fd)
>       {
>       kill_cleanup(p,(void *)fd,fd_cleanup);
>       }
>   
> ! long popenf(pool *a, const char *name, int flg, int mode)
>   {
> !   long fd;
>     int save_errno;
>   
>     block_alarms();
> ***************
> *** 809,815 ****
>     return fd;
>   }
>   
> ! int pclosef(pool *a, int fd)
>   {
>     int res;
>     int save_errno;
> --- 809,815 ----
>     return fd;
>   }
>   
> ! int pclosef(pool *a, long fd)
>   {
>     int res;
>     int save_errno;
> ***************
> *** 860,866 ****
>     return fd;
>   }
>   
> ! FILE *pfdopen(pool *a,int fd, const char *mode)
>   {
>     FILE *f;
>   
> --- 860,866 ----
>     return fd;
>   }
>   
> ! FILE *pfdopen(pool *a,long fd, const char *mode)
>   {
>     FILE *f;
>   
> *** /tmp/T0aamtba	Thu Aug 21 08:57:37 1997
> --- alloc.h	Thu Aug 14 10:42:15 1997
> ***************
> *** 206,217 ****
>    */
>   
>   FILE *pfopen(struct pool *, const char *name, const char *fmode);
> ! FILE *pfdopen(struct pool *, int fd, const char *fmode);
> ! int popenf(struct pool *, const char *name, int flg, int mode); 
>   
>   void note_cleanups_for_file (pool *, FILE *);
> ! void note_cleanups_for_fd (pool *, int);
> ! void kill_cleanups_for_fd (pool *p, int fd);
>   
>   regex_t *pregcomp (pool *p, const char *pattern, int cflags);
>   void pregfree (pool *p, regex_t *reg);
> --- 206,217 ----
>    */
>   
>   FILE *pfopen(struct pool *, const char *name, const char *fmode);
> ! FILE *pfdopen(struct pool *, long fd, const char *fmode);
> ! long popenf(struct pool *, const char *name, int flg, int mode); 
>   
>   void note_cleanups_for_file (pool *, FILE *);
> ! void note_cleanups_for_fd (pool *, long);
> ! void kill_cleanups_for_fd (pool *p, long fd);
>   
>   regex_t *pregcomp (pool *p, const char *pattern, int cflags);
>   void pregfree (pool *p, regex_t *reg);
> ***************
> *** 221,227 ****
>    */
>   
>   int pfclose(struct pool *, FILE *);
> ! int pclosef(struct pool *, int fd);
>   
>   /* ... even child processes (which we may want to wait for,
>    * or to kill outright, on unexpected termination).
> --- 221,227 ----
>    */
>   
>   int pfclose(struct pool *, FILE *);
> ! int pclosef(struct pool *, long fd);
>   
>   /* ... even child processes (which we may want to wait for,
>    * or to kill outright, on unexpected termination).
> *** /tmp/T0aamtba	Thu Aug 21 08:57:37 1997
> --- http_config.c	Thu Aug 14 11:07:55 1997
> ***************
> *** 702,708 ****
>   {
>       /* This one's pretty generic... */
>     
> !     int offset = (int)cmd->info; 
>       *(char **)(struct_ptr + offset) = pstrdup (cmd->pool, arg);
>       return NULL;
>   }
> --- 702,708 ----
>   {
>       /* This one's pretty generic... */
>     
> !     long offset = (long)cmd->info; 
>       *(char **)(struct_ptr + offset) = pstrdup (cmd->pool, arg);
>       return NULL;
>   }
> ***************
> *** 711,717 ****
>   {
>       /* This one's pretty generic too... */
>     
> !     int offset = (int)cmd->info; 
>       *(int *)(struct_ptr + offset) = arg ? 1 : 0;
>       return NULL;
>   }
> --- 711,717 ----
>   {
>       /* This one's pretty generic too... */
>     
> !     long offset = (long)cmd->info; 
>       *(int *)(struct_ptr + offset) = arg ? 1 : 0;
>       return NULL;
>   }
> *** /tmp/T0aamtba	Thu Aug 21 08:57:37 1997
> --- http_core.c	Thu Aug 14 10:47:37 1997
> ***************
> *** 844,850 ****
>   {
>       /* This one's pretty generic... */
>     
> !     int offset = (int)cmd->info;
>       char *struct_ptr = (char *)cmd->server;
>       
>       *(char **)(struct_ptr + offset) = pstrdup (cmd->pool, arg);
> --- 844,850 ----
>   {
>       /* This one's pretty generic... */
>     
> !     long offset = (long)cmd->info;
>       char *struct_ptr = (char *)cmd->server;
>       
>       *(char **)(struct_ptr + offset) = pstrdup (cmd->pool, arg);
> *** /tmp/T0aamtba	Thu Aug 21 08:57:37 1997
> --- mod_alias.c	Thu Aug 14 10:53:25 1997
> ***************
> *** 137,143 ****
>       server_rec *s = cmd->server;
>       alias_server_conf *serverconf =
>           (alias_server_conf *)get_module_config(s->module_config,&alias_module);
> !     int status = (int)cmd->info;
>       char *f = arg2;
>       char *url = arg3;
>   
> --- 137,143 ----
>       server_rec *s = cmd->server;
>       alias_server_conf *serverconf =
>           (alias_server_conf *)get_module_config(s->module_config,&alias_module);
> !     long status = (long)cmd->info;
>       char *f = arg2;
>       char *url = arg3;
>   
> *** /tmp/T0aamtba	Thu Aug 21 08:57:38 1997
> --- mod_browser.c	Thu Aug 14 11:00:12 1997
> ***************
> *** 98,104 ****
>         get_module_config (cmd->server->module_config, &browser_module);
>       browser_entry *new, *entries = (browser_entry *)sconf->browsers->elts;
>       char *var;
> !     int i, cflags = (int)cmd->info;
>   
>       /* First, try to merge into an existing entry */
>   
> --- 98,104 ----
>         get_module_config (cmd->server->module_config, &browser_module);
>       browser_entry *new, *entries = (browser_entry *)sconf->browsers->elts;
>       char *var;
> !     long i, cflags = (long)cmd->info;
>   
>       /* First, try to merge into an existing entry */
>   
> ***************
> *** 132,138 ****
>   }
>   
>   command_rec browser_module_cmds[] = {
> ! { "BrowserMatch", add_browser, (void*)0,
>       RSRC_CONF, ITERATE2, "A browser regex and a list of variables." },
>   { "BrowserMatchNoCase", add_browser, (void*)REG_ICASE,
>       RSRC_CONF, ITERATE2, "a browser regex and a list of variables." },
> --- 132,138 ----
>   }
>   
>   command_rec browser_module_cmds[] = {
> ! { "BrowserMatch", add_browser, (void*)0L,
>       RSRC_CONF, ITERATE2, "A browser regex and a list of variables." },
>   { "BrowserMatchNoCase", add_browser, (void*)REG_ICASE,
>       RSRC_CONF, ITERATE2, "a browser regex and a list of variables." },
> *** /tmp/T0aamtba	Thu Aug 21 08:57:38 1997
> --- mod_dir.c	Thu Aug 14 10:51:50 1997
> ***************
> *** 180,186 ****
>   }
>   
>   
> ! const char *add_opts_int(cmd_parms *cmd, void *d, int opts) {
>       push_item(((dir_config_rec *)d)->opts_list, (char*)opts, NULL,
>   	      cmd->path, NULL);
>       return NULL;
> --- 180,186 ----
>   }
>   
>   
> ! const char *add_opts_int(cmd_parms *cmd, void *d, long opts) {
>       push_item(((dir_config_rec *)d)->opts_list, (char*)opts, NULL,
>   	      cmd->path, NULL);
>       return NULL;
> ***************
> *** 388,394 ****
>       return 0;
>   }
>   
> ! int find_opts(dir_config_rec *d, request_rec *r) {
>       char *path = r->filename;
>       array_header *list = d->opts_list;
>       struct item *items = (struct item *)list->elts;
> --- 388,394 ----
>       return 0;
>   }
>   
> ! long find_opts(dir_config_rec *d, request_rec *r) {
>       char *path = r->filename;
>       array_header *list = d->opts_list;
>       struct item *items = (struct item *)list->elts;
> ***************
> *** 398,404 ****
>           struct item *p = &items[i];
>   	
>           if(!strcmp_match(path,p->apply_path))
> !             return (int)p->type;
>       }
>       return 0;
>   }
> --- 398,404 ----
>           struct item *p = &items[i];
>   	
>           if(!strcmp_match(path,p->apply_path))
> !             return (long)p->type;
>       }
>       return 0;
>   }
> 
> 
> 
> 
> 


Mime
View raw message