cvs commit: apache-1.3/src/modules/standard mod_expires.c mod_include.c mod_log_config.c mod_rewrite.c mod_usertrack.c
dgaudet 98/03/28 03:58:37 Modified:.STATUS src CHANGES src/ap ap_snprintf.c src/include alloc.h ap.h buff.h conf.h src/main Makefile.tmpl alloc.c buff.c http_core.c http_main.c http_protocol.c http_request.c util.c util_script.c src/modules/standard mod_expires.c mod_include.c mod_log_config.c mod_rewrite.c mod_usertrack.c Removed: src/main http_bprintf.c Log: Finally dealt with the vformatter() thing that's been sitting in STATUS since october. - apapi_vformatter() is generic printf-style routine with arbitrary output - replaces ap_snprintf(), eliminate the possibility of HAVE_SNPRINTF - replaces bprintf() and bvprintf() - add new psprintf()/pvsprintf() which allocate the string from the pool -- no static limitations - use psprintf() in a bunch of places Revision ChangesPath 1.228 +0 -9 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.227 retrieving revision 1.228 diff -u -r1.227 -r1.228 --- STATUS1998/03/27 17:37:26 1.227 +++ STATUS1998/03/28 11:58:11 1.228 @@ -300,15 +300,6 @@ src/Configure. Just comitting APACI files will not be done. The existing README has to be adjusted. I'll do this. -Concepts: - -* Dean's [PRE-PATCH] expanding ap_snprintf() - <[EMAIL PROTECTED]> - Status: Dean +1, Ben +1, Jim 0, Martin 0, Brian +1(?), Ken +1 - See <[EMAIL PROTECTED]> - for a more up-to-date idea (int vformatter) that has a - vote of +1 from Dean, Ben, Martin, Paul, Jim, and Ken for concept - In progress: * Ken's IndexFormat enhancement to mod_autoindex to allow 1.741 +8 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.740 retrieving revision 1.741 diff -u -r1.740 -r1.741 --- CHANGES 1998/03/27 20:18:46 1.740 +++ CHANGES 1998/03/28 11:58:13 1.741 @@ -1,5 +1,13 @@ Changes with Apache 1.3b6 + *) API: ap_snprintf() code mutated into apapi_vformatter(), which is + a generic printf-style routine that can call arbitrary output + routines. Use this to replace http_bprintf.c. Add new routines + psprintf(), pvsprintf() which allocate the exact amount of memory + required for a string from a pool. Use psprintf() to clean up + various bits of code which used ap_snprintf()/pstrdup(). + [Dean Gaudet] + *) SIGXCPU and SIGXFSZ are now reset to SIG_DFL at boot-time. This is necessary on at least Solaris where the /etc/rc?.d scripts are run with these signals ignored, and "SIG_IGN" settings are 1.14 +52 -49apache-1.3/src/ap/ap_snprintf.c Index: ap_snprintf.c === RCS file: /export/home/cvs/apache-1.3/src/ap/ap_snprintf.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- ap_snprintf.c 1998/02/12 02:18:38 1.13 +++ ap_snprintf.c 1998/03/28 11:58:15 1.14 @@ -54,9 +54,7 @@ * <[EMAIL PROTECTED]> for xinetd. */ -#include "conf.h" - -#ifndef HAVE_SNPRINTF +#include "httpd.h" #include #include @@ -264,17 +262,6 @@ */ #define NUM_BUF_SIZE 512 - -/* - * Descriptor for buffer area - */ -struct buf_area { -char *buf_end; -char *nextb; /* pointer to next byte to read/write */ -}; - -typedef struct buf_area buffy; - /* * The INS_CHAR macro inserts a character in the buffer and writes * the buffer back to disk if necessary @@ -285,13 +272,16 @@ * * NOTE: Evaluation of the c argument should not have any side-effects */ -#define INS_CHAR( c, sp, bep, cc ) \ - { \ - if ( sp < bep ) \ - { \ - *sp++ = c ; \ - cc++ ; \ - } \ +#define INS_CHAR(c, sp, bep, cc) \ + { \ + if (sp == bep) {\ + if (write_func(write_data, staging_buf, \ + sizeof(staging_buf)) != 0) \ + return -1; \ + sp = staging_buf; \ + } \ + *sp++ = (c);
cvs commit: apache-1.3 STATUS
dgaudet 98/03/28 04:01:42 Modified:.STATUS Log: the why Revision ChangesPath 1.229 +10 -0 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.228 retrieving revision 1.229 diff -u -r1.228 -r1.229 --- STATUS1998/03/28 11:58:11 1.228 +++ STATUS1998/03/28 12:01:41 1.229 @@ -442,6 +442,16 @@ having real fits keeping it alive on a dual processor machine. Could be OS problems.. + * vformatter TODO: +- double check logic in apapi_vformatter(), and especially psprintf() +- fix ALLOC_USE_MALLOC, make sure ALLOC_DEBUG and POOL_DEBUG still work +- add in and use the inaddr formatting codes that started the whole + debate last october +- ... so that we can finally start fixing all the log messages that + were previously log_reason(), which included the client address, + but now using aplog_error() they're without the client address, and + that sucks + Win32 specific issues: Open issues:
cvs commit: apache-1.3 STATUS
dgaudet 98/03/28 04:03:45 Modified:.STATUS Log: oh yeah almost forgot Revision ChangesPath 1.230 +1 -0 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.229 retrieving revision 1.230 diff -u -r1.229 -r1.230 --- STATUS1998/03/28 12:01:41 1.229 +++ STATUS1998/03/28 12:03:44 1.230 @@ -451,6 +451,7 @@ were previously log_reason(), which included the client address, but now using aplog_error() they're without the client address, and that sucks +- bump mmn and make it official (wanna make sure the api is right first) Win32 specific issues:
cvs commit: apache-1.3/src/modules/experimental Makefile.tmpl
dgaudet 98/03/28 04:06:55 Modified:src CHANGES src/ap Makefile.tmpl src/modules/experimental Makefile.tmpl Log: a few cleanups after apapi_vformatter Revision ChangesPath 1.742 +4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.741 retrieving revision 1.742 diff -u -r1.741 -r1.742 --- CHANGES 1998/03/28 11:58:13 1.741 +++ CHANGES 1998/03/28 12:06:52 1.742 @@ -8,6 +8,10 @@ various bits of code which used ap_snprintf()/pstrdup(). [Dean Gaudet] + *) PORT: HAVE_SNPRINTF doesn't do anything any longer. This is because + ap_snprintf() has different semantics and formatting codes than + snprintf(). [Dean Gaudet] + *) SIGXCPU and SIGXFSZ are now reset to SIG_DFL at boot-time. This is necessary on at least Solaris where the /etc/rc?.d scripts are run with these signals ignored, and "SIG_IGN" settings are 1.18 +4 -2 apache-1.3/src/ap/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apache-1.3/src/ap/Makefile.tmpl,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- Makefile.tmpl 1998/03/17 15:42:26 1.17 +++ Makefile.tmpl 1998/03/28 12:06:54 1.18 @@ -51,8 +51,10 @@ ../os/unix/os.h $(INCDIR)/hide.h $(INCDIR)/hsregex.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ $(INCDIR)/util_uri.h $(INCDIR)/http_log.h -ap_snprintf.o: ap_snprintf.c $(INCDIR)/conf.h ../os/unix/os.h \ - $(INCDIR)/hide.h $(INCDIR)/hsregex.h +ap_snprintf.o: ap_snprintf.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ + ../os/unix/os.h $(INCDIR)/hide.h $(INCDIR)/hsregex.h \ + $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ + $(INCDIR)/util_uri.h ap_strings.o: ap_strings.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ ../os/unix/os.h $(INCDIR)/hide.h $(INCDIR)/hsregex.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ 1.6 +2 -1 apache-1.3/src/modules/experimental/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apache-1.3/src/modules/experimental/Makefile.tmpl,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Makefile.tmpl 1998/03/17 15:42:29 1.5 +++ Makefile.tmpl 1998/03/28 12:06:55 1.6 @@ -20,4 +20,5 @@ $(INCDIR)/hsregex.h $(INCDIR)/alloc.h $(INCDIR)/buff.h \ $(INCDIR)/ap.h $(INCDIR)/util_uri.h \ $(INCDIR)/http_config.h $(INCDIR)/http_log.h \ - $(INCDIR)/http_protocol.h $(INCDIR)/http_request.h + $(INCDIR)/http_protocol.h $(INCDIR)/http_request.h \ + $(INCDIR)/http_core.h
cvs commit: apache-1.3/src/include conf.h
rse 98/03/28 08:53:19 Modified:src PORTING src/include conf.h Log: Remove still dangling HAVE_SNPRINTF stuff. Dean has removed the include/conf.h hack, so this define is no longer useable thus there is no need for documenting it any longer. Revision ChangesPath 1.23 +0 -7 apache-1.3/src/PORTING Index: PORTING === RCS file: /export/home/cvs/apache-1.3/src/PORTING,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- PORTING 1998/03/25 20:38:38 1.22 +++ PORTING 1998/03/28 16:53:17 1.23 @@ -193,13 +193,6 @@ Define if the OS has and supports the getrlimit/setrlimit family. Apache uses this to determine if RLIMIT_CPU|VMEM|DATA|RLIMIT is found and used. - -HAVE_SNPRINTF: - Apache makes extensive use of the snprintf() function. many - platforms do not provide this function. If your platform - does provide it _and_ it's reliable (most are not) then - define this to use the OS version. Otherwise, Apache will - use its own. -- USE_*: 1.197 +0 -1 apache-1.3/src/include/conf.h Index: conf.h === RCS file: /export/home/cvs/apache-1.3/src/include/conf.h,v retrieving revision 1.196 retrieving revision 1.197 diff -u -r1.196 -r1.197 --- conf.h1998/03/28 11:58:19 1.196 +++ conf.h1998/03/28 16:53:18 1.197 @@ -594,7 +594,6 @@ #undef HAVE_CRYPT_H #undef HAVE_SYS_SELECT_H #define HAVE_SYS_RESOURCE_H 1 -#undef HAVE_SNPRINTF #undef USE_FCNTL_SERIALIZED_ACCEPT #undef USE_FLOCK_SERIALIZED_ACCEPT #define USE_LONGJMP
cvs commit: apache-1.3/src/main http_core.c
dgaudet 98/03/28 12:57:10 Modified:htdocs/manual/mod core.html src CHANGES src/main http_core.c Log: "Options +Includes" wasn't corrently merged if "+IncludesNoExec" was defined in a parent directory. Submitted by: Lars Eilebrecht Revision ChangesPath 1.107 +3 -0 apache-1.3/htdocs/manual/mod/core.html Index: core.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/core.html,v retrieving revision 1.106 retrieving revision 1.107 diff -u -r1.106 -r1.107 --- core.html 1998/03/21 22:31:53 1.106 +++ core.html 1998/03/28 20:57:04 1.107 @@ -1818,6 +1818,9 @@ then the options FollowSymLinks and Includes are set for the /web/docs/spec directory. +Note: Using -IncludesNOEXEC or -Includes +disables server-side includes completely regardless of the previous setting. + The default in the absence of any other settings is All. 1.743 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.742 retrieving revision 1.743 diff -u -r1.742 -r1.743 --- CHANGES 1998/03/28 12:06:52 1.742 +++ CHANGES 1998/03/28 20:57:07 1.743 @@ -1,5 +1,8 @@ Changes with Apache 1.3b6 + *) "Options +Includes" wasn't corrently merged if "+IncludesNoExec" + was defined in a parent directory. [Lars Eilebrecht] + *) API: ap_snprintf() code mutated into apapi_vformatter(), which is a generic printf-style routine that can call arbitrary output routines. Use this to replace http_bprintf.c. Add new routines 1.179 +2 -0 apache-1.3/src/main/http_core.c Index: http_core.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_core.c,v retrieving revision 1.178 retrieving revision 1.179 diff -u -r1.178 -r1.179 --- http_core.c 1998/03/28 11:58:23 1.178 +++ http_core.c 1998/03/28 20:57:10 1.179 @@ -166,6 +166,8 @@ conf->opts_add = (conf->opts_add & ~new->opts_remove) | new->opts_add; conf->opts_remove = (conf->opts_remove & ~new->opts_add) | new->opts_remove; conf->opts = (conf->opts & ~conf->opts_remove) | conf->opts_add; +if ((base->opts & OPT_INCNOEXEC) && (new->opts & OPT_INCLUDES)) + conf->opts = (conf->opts & ~OPT_INCNOEXEC) | OPT_INCLUDES; } else { /* otherwise we just copy, because an explicit opts setting
cvs commit: apache-1.3/src CHANGES
jim 98/03/28 13:33:42 Modified:src CHANGES Log: Oops... forgot some changes... Revision ChangesPath 1.744 +8 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.743 retrieving revision 1.744 diff -u -r1.743 -r1.744 --- CHANGES 1998/03/28 20:57:07 1.743 +++ CHANGES 1998/03/28 21:33:40 1.744 @@ -1,5 +1,13 @@ Changes with Apache 1.3b6 + *) PORT: Add the SCO_SV port. [Jim Jagielski] PR#1962 + + *) PORT: IRIX needs the -n32 flag iff using the 'cc' compiler + [Jim Jagielski] PR#1901 + + *) BUG: Configure was using TCC and CC inconsistantly. Make sure + Configure knows which CC we are using. [Jim Jagielski] + *) "Options +Includes" wasn't corrently merged if "+IncludesNoExec" was defined in a parent directory. [Lars Eilebrecht]
cvs commit: apache-1.3/src/main alloc.c
dgaudet 98/03/28 13:35:42 Modified:.STATUS src/include alloc.h src/main alloc.c Log: alloc debugging stuff works with psprintf Revision ChangesPath 1.231 +0 -1 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.230 retrieving revision 1.231 diff -u -r1.230 -r1.231 --- STATUS1998/03/28 12:03:44 1.230 +++ STATUS1998/03/28 21:35:37 1.231 @@ -444,7 +444,6 @@ * vformatter TODO: - double check logic in apapi_vformatter(), and especially psprintf() -- fix ALLOC_USE_MALLOC, make sure ALLOC_DEBUG and POOL_DEBUG still work - add in and use the inaddr formatting codes that started the whole debate last october - ... so that we can finally start fixing all the log messages that 1.51 +2 -0 apache-1.3/src/include/alloc.h Index: alloc.h === RCS file: /export/home/cvs/apache-1.3/src/include/alloc.h,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- alloc.h 1998/03/28 11:58:16 1.50 +++ alloc.h 1998/03/28 21:35:38 1.51 @@ -97,6 +97,8 @@ #define pool_join(a,b) #else API_EXPORT(void) pool_join(pool *p, pool *sub); +API_EXPORT(pool *) find_pool(const void *ts); +API_EXPORT(int) pool_is_ancestor(pool *a, pool *b); #endif /* Clearing out EVERYTHING in an pool... destroys any sub-pools */ 1.81 +48 -8 apache-1.3/src/main/alloc.c Index: alloc.c === RCS file: /export/home/cvs/apache-1.3/src/main/alloc.c,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- alloc.c 1998/03/28 11:58:21 1.80 +++ alloc.c 1998/03/28 21:35:41 1.81 @@ -219,7 +219,7 @@ -#ifdef ALLOC_DEBUG +#if defined(ALLOC_DEBUG) && !defined(ALLOC_USE_MALLOC) static void chk_on_blk_list(union block_hdr *blok, union block_hdr *free_blk) { while (free_blk) { @@ -535,7 +535,7 @@ /* Find the pool that ts belongs to, return NULL if it doesn't * belong to any pool. */ -pool *find_pool(const void *ts) +API_EXPORT(pool *) find_pool(const void *ts) { const char *s = ts; union block_hdr **pb; @@ -582,7 +582,7 @@ /* return TRUE iff a is an ancestor of b * NULL is considered an ancestor of all pools */ -int pool_is_ancestor(pool *a, pool *b) +API_EXPORT(int) pool_is_ancestor(pool *a, pool *b) { if (a == NULL) { return 1; @@ -771,11 +771,6 @@ return res; } -/* XXX */ -#ifdef ALLOC_USE_MALLOC -#error "psprintf does not support ALLOC_USE_MALLOC yet..." -#endif - /* psprintf is implemented by writing directly into the current * block of the pool, starting right at first_avail. If there's * insufficient room, then a new block is allocated and the earlier @@ -785,13 +780,36 @@ struct psprintf_data { pool *p; +#ifdef ALLOC_USE_MALLOC +char *base; +size_t len; +#else union block_hdr *blok; char *strp; int got_a_new_block; +#endif }; static int psprintf_write(void *vdata, const char *inp, size_t len) { +#ifdef ALLOC_USE_MALLOC +struct psprintf_data *ps; +int size; +char *ptr; + +ps = vdata; + +size = ps->len + len + 1; +ptr = realloc(ps->base, size); +if (ptr == NULL) { + fputs("Ouch! Out of memory!\n", stderr); + exit(1); +} +ps->base = ptr; +memcpy(ptr + ps->len, inp, len); +ps->len += len; +return 0; +#else struct psprintf_data *ps; union block_hdr *blok; union block_hdr *nblok; @@ -837,10 +855,31 @@ ps->blok = nblok; ps->got_a_new_block = 1; return 0; +#endif } API_EXPORT(char *) pvsprintf(pool *p, const char *fmt, va_list ap) { +#ifdef ALLOC_USE_MALLOC +struct psprintf_data ps; +void *ptr; + +block_alarms(); +ps.p = p; +ps.base = NULL; +ps.len = CLICK_SZ; /* need room at beginning for allocation_list */ +apapi_vformatter(psprintf_write, &ps, fmt, ap); +ptr = ps.base; +if (ptr == NULL) { + unblock_alarms(); + return pstrdup(p, ""); +} +*((char *)ptr + ps.len) = '\0'; /* room was saved for this */ +*(void **)ptr = p->allocation_list; +p->allocation_list = ptr; +unblock_alarms(); +return (char *)ptr + CLICK_SZ; +#else struct psprintf_data ps; char *strp; int size; @@ -870,6 +909,7 @@ } return strp; +#endif } API_EXPORT_NONSTD(char *) psprintf(pool *p, const char *fmt, ...)
cvs commit: apache-1.3/src/include conf.h
dgaudet 98/03/28 13:58:40 Modified:src CHANGES src/ap ap_snprintf.c src/include conf.h Log: ap_cvt and its ilk weren't threadsafe remove HAVE_CVT because we need threadsafe functions Revision ChangesPath 1.745 +4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.744 retrieving revision 1.745 diff -u -r1.744 -r1.745 --- CHANGES 1998/03/28 21:33:40 1.744 +++ CHANGES 1998/03/28 21:58:36 1.745 @@ -1,5 +1,9 @@ Changes with Apache 1.3b6 + *) The floating point ap_snprintf code wasn't threadsafe. + Had to remove the HAVE_CVT macro in order to do threadsafe + calling of the ?cvt() floating point routines. [Dean Gaudet] + *) PORT: Add the SCO_SV port. [Jim Jagielski] PR#1962 *) PORT: IRIX needs the -n32 flag iff using the 'cc' compiler 1.15 +18 -26apache-1.3/src/ap/ap_snprintf.c Index: ap_snprintf.c === RCS file: /export/home/cvs/apache-1.3/src/ap/ap_snprintf.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- ap_snprintf.c 1998/03/28 11:58:15 1.14 +++ ap_snprintf.c 1998/03/28 21:58:38 1.15 @@ -64,17 +64,9 @@ #include #include -#ifdef HAVE_CVT - -#define ap_ecvt ecvt -#define ap_fcvt fcvt -#define ap_gcvt gcvt - -#else - /* * cvt.c - IEEE floating point formatting routines for FreeBSD - * from GNU libc-4.6.27 + * from GNU libc-4.6.27. Modified to be thread safe. */ /* @@ -86,12 +78,12 @@ #define NDIG80 -static char *ap_cvt(double arg, int ndigits, int *decpt, int *sign, int eflag) +/* buf must have at least NDIG bytes */ +static char *ap_cvt(double arg, int ndigits, int *decpt, int *sign, int eflag, char *buf) { register int r2; double fi, fj; register char *p, *p1; -static char buf[NDIG]; if (ndigits >= NDIG - 1) ndigits = NDIG - 2; @@ -160,14 +152,14 @@ return (buf); } -static char *ap_ecvt(double arg, int ndigits, int *decpt, int *sign) +static char *ap_ecvt(double arg, int ndigits, int *decpt, int *sign, char *buf) { -return (ap_cvt(arg, ndigits, decpt, sign, 1)); +return (ap_cvt(arg, ndigits, decpt, sign, 1, buf)); } -static char *ap_fcvt(double arg, int ndigits, int *decpt, int *sign) +static char *ap_fcvt(double arg, int ndigits, int *decpt, int *sign, char *buf) { -return (ap_cvt(arg, ndigits, decpt, sign, 0)); +return (ap_cvt(arg, ndigits, decpt, sign, 0, buf)); } /* @@ -180,8 +172,9 @@ int sign, decpt; register char *p1, *p2; register int i; +char buf1[NDIG]; -p1 = ap_ecvt(number, ndigit, &decpt, &sign); +p1 = ap_ecvt(number, ndigit, &decpt, &sign, buf1); p2 = buf; if (sign) *p2++ = '-'; @@ -233,8 +226,6 @@ return (buf); } -#endif /* HAVE_CVT */ - typedef enum { NO = 0, YES = 1 } boolean_e; @@ -394,18 +385,19 @@ * The sign is returned in the is_negative argument (and is not placed * in buf). */ -static char * - conv_fp(register char format, register double num, -boolean_e add_dp, int precision, bool_int *is_negative, char *buf, int *len) +static char *conv_fp(register char format, register double num, +boolean_e add_dp, int precision, bool_int *is_negative, +char *buf, int *len) { register char *s = buf; register char *p; int decimal_point; +char buf1[NDIG]; if (format == 'f') - p = ap_fcvt(num, precision, &decimal_point, is_negative); + p = ap_fcvt(num, precision, &decimal_point, is_negative, buf1); else /* either e or E format */ - p = ap_ecvt(num, precision + 1, &decimal_point, is_negative); + p = ap_ecvt(num, precision + 1, &decimal_point, is_negative, buf1); /* * Check for Infinity and NaN @@ -493,9 +485,9 @@ { register int mask = (1 << nbits) - 1; register char *p = buf_end; -static char low_digits[] = "0123456789abcdef"; -static char upper_digits[] = "0123456789ABCDEF"; -register char *digits = (format == 'X') ? upper_digits : low_digits; +static const char low_digits[] = "0123456789abcdef"; +static const char upper_digits[] = "0123456789ABCDEF"; +register const char *digits = (format == 'X') ? upper_digits : low_digits; do { *--p = digits[num & mask]; 1.198 +0 -1 apache-1.3/src/include/conf.h Index: conf.h === RCS file: /export/home/cvs/apache-1.3/src/include/conf.h,v
cvs commit: apache-1.3 STATUS
dgaudet 98/03/28 14:36:46 Modified:.STATUS Log: sunny sunny weather Revision ChangesPath 1.232 +2 -0 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.231 retrieving revision 1.232 diff -u -r1.231 -r1.232 --- STATUS1998/03/28 21:35:37 1.231 +++ STATUS1998/03/28 22:36:45 1.232 @@ -451,6 +451,8 @@ but now using aplog_error() they're without the client address, and that sucks - bump mmn and make it official (wanna make sure the api is right first) + - actually no it's not the right api -- it involves an extra copy of +everything... I'll whip up a more efficient api tomorrow Win32 specific issues: