rbb 99/08/19 14:45:37
Modified: mpm/src/lib/apr Makefile.in mpm/src/lib/apr/include apr_lib.h Log: A couple of changes required to make things work nicer with Apache. Mainly moving the lib*.a when they are all built into a common dir, and putting some declarations in the right spots. Revision Changes Path 1.3 +5 -1 apache-2.0/mpm/src/lib/apr/Makefile.in Index: Makefile.in =================================================================== RCS file: /home/cvs/apache-2.0/mpm/src/lib/apr/Makefile.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Makefile.in 1999/08/19 06:48:10 1.2 +++ Makefile.in 1999/08/19 21:45:29 1.3 @@ -23,7 +23,7 @@ # # Macros for target determination # -MODULES=lib file_io network_io threadproc locks misc time +MODULES=lib file_io network_io threadproc locks misc time sig SUBDIRS=lib file_io/@OSDIR@ network_io/@OSDIR@ threadproc/@OSDIR@ \ locks/@OSDIR@ misc/@OSDIR@ time/@OSDIR@ signal/@OSDIR@ #shmem/@OSDIR@ @@ -39,6 +39,10 @@ # building the entire package. # all: Makefile $(MODULES) subdirs + mkdir libs + @for i in $(SUBDIRS); do \ + cp $$1/lib*.a libs \ + done; @echo APR built. clean: subdirs_clean 1.2 +38 -4 apache-2.0/mpm/src/lib/apr/include/apr_lib.h Index: apr_lib.h =================================================================== RCS file: /home/cvs/apache-2.0/mpm/src/lib/apr/include/apr_lib.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- apr_lib.h 1999/08/17 15:59:53 1.1 +++ apr_lib.h 1999/08/19 21:45:34 1.2 @@ -125,6 +125,21 @@ char *elts; } ap_array_header_t; +typedef struct ap_table_entry_t { + char *key; /* maybe NULL in future; + * check when iterating thru table_elts + */ + char *val; +} ap_table_entry_t; + +/* XXX: these know about the definition of struct table in alloc.c. That + * definition is not here because it is supposed to be private, and by not + * placing it here we are able to get compile-time diagnostics from modules + * written which assume that a table is the same as an ap_array_header_t. -djg + */ +#define ap_table_elts(t) ((ap_array_header_t *)(t)) +#define ap_is_empty_table(t) (((t) == NULL)||(((ap_array_header_t *)(t))->nelts == 0)) + /* * Structure used by the variable-formatter routines. */ @@ -154,11 +169,28 @@ #define ap_create_mutex(x) (0) #define ap_release_mutex(x) (0) #define ap_acquire_mutex(x) (0) -#define ap_islower(x) (0) -#define ap_isalpha(x) (0) -#define ap_isdigit(x) (0) + +/* These macros allow correct support of 8-bit characters on systems which + * support 8-bit characters. Pretty dumb how the cast is required, but + * that's legacy libc for ya. These new macros do not support EOF like + * the standard macros do. Tough. + */ +#define ap_isalnum(c) (isalnum(((unsigned char)(c)))) +#define ap_isalpha(c) (isalpha(((unsigned char)(c)))) +#define ap_iscntrl(c) (iscntrl(((unsigned char)(c)))) +#define ap_isdigit(c) (isdigit(((unsigned char)(c)))) +#define ap_isgraph(c) (isgraph(((unsigned char)(c)))) +#define ap_islower(c) (islower(((unsigned char)(c)))) +#define ap_isprint(c) (isprint(((unsigned char)(c)))) +#define ap_ispunct(c) (ispunct(((unsigned char)(c)))) +#define ap_isspace(c) (isspace(((unsigned char)(c)))) +#define ap_isupper(c) (isupper(((unsigned char)(c)))) +#define ap_isxdigit(c) (isxdigit(((unsigned char)(c)))) +#define ap_tolower(c) (tolower(((unsigned char)(c)))) +#define ap_toupper(c) (toupper(((unsigned char)(c)))) + + -#define apr_tolower(c) (tolower(((unsigned char)(c)))) /* * Small utility macros to make things easier to read. Not usually a @@ -308,6 +340,8 @@ API_EXPORT(void) ap_table_do(int (*comp) (void *, const char *, const char *), void *rec, const ap_table_t *t, ...); +#define AP_OVERLAP_TABLES_SET (0) +#define AP_OVERLAP_TABLES_MERGE (1) API_EXPORT(void) ap_overlap_tables(ap_table_t *a, const ap_table_t *b, unsigned flags); API_EXPORT(void) ap_register_cleanup(struct context_t *p, void *data,