From: Allan K. Edwards Date: Fri, 22 Oct 2004 15:22:05 +0000 (+0000) Subject: WIN64: API changes to clean up Windows 64bit compile warnings X-Git-Tag: 2.1.1~106 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6c775f9a3cb9a324a30d69ab96afd06ac9e2d624;p=thirdparty%2Fapache%2Fhttpd.git WIN64: API changes to clean up Windows 64bit compile warnings git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105545 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 4b68b0f7d51..126f71c26c6 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,9 @@ Changes with Apache 2.1.0-dev [Remove entries to the current 2.0 section below, when backported] + *) WIN64: API changes to clean up Windows 64bit compile warnings + [Allan Edwards] + *) mod_cache: CacheDisable will only disable the URLs it was meant to disable, not all caching. PR 31128. [Edward Rudd , Paul Querna] diff --git a/include/ap_mmn.h b/include/ap_mmn.h index d724fe7ef6f..d7db39273f6 100644 --- a/include/ap_mmn.h +++ b/include/ap_mmn.h @@ -84,14 +84,15 @@ * changed ap_add_module, ap_add_loaded_module, * ap_setup_prelinked_modules, ap_process_resource_config * 20040425.1 (2.1.0-dev) Added ap_module_symbol_t and ap_prelinked_module_symbols + * 20041022 (2.1.0-dev) API changes to clean up 64bit compiles */ #define MODULE_MAGIC_COOKIE 0x41503230UL /* "AP20" */ #ifndef MODULE_MAGIC_NUMBER_MAJOR -#define MODULE_MAGIC_NUMBER_MAJOR 20040425 +#define MODULE_MAGIC_NUMBER_MAJOR 20041022 #endif -#define MODULE_MAGIC_NUMBER_MINOR 1 /* 0...n */ +#define MODULE_MAGIC_NUMBER_MINOR 0 /* 0...n */ /** * Determine if the server's current MODULE_MAGIC_NUMBER is at least a diff --git a/include/http_protocol.h b/include/http_protocol.h index cb2d23886dc..55af6ef7b54 100644 --- a/include/http_protocol.h +++ b/include/http_protocol.h @@ -338,9 +338,9 @@ AP_DECLARE(int) ap_rputc(int c, request_rec *r); * @param str The string to output * @param r The current request * @return The number of bytes sent - * @deffunc int ap_rputs(const char *str, request_rec *r) + * @deffunc apr_ssize_t ap_rputs(const char *str, request_rec *r) */ -AP_DECLARE(int) ap_rputs(const char *str, request_rec *r); +AP_DECLARE(apr_ssize_t) ap_rputs(const char *str, request_rec *r); /** * Write a buffer for the current request @@ -357,9 +357,9 @@ AP_DECLARE(int) ap_rwrite(const void *buf, int nbyte, request_rec *r); * @param r The current request * @param ... The strings to write * @return The number of bytes sent - * @deffunc int ap_rvputs(request_rec *r, ...) + * @deffunc apr_ssize_t ap_rvputs(request_rec *r, ...) */ -AP_DECLARE_NONSTD(int) ap_rvputs(request_rec *r,...); +AP_DECLARE_NONSTD(apr_ssize_t) ap_rvputs(request_rec *r,...); /** * Output data to the client in a printf format @@ -367,9 +367,9 @@ AP_DECLARE_NONSTD(int) ap_rvputs(request_rec *r,...); * @param fmt The format string * @param vlist The arguments to use to fill out the format string * @return The number of bytes sent - * @deffunc int ap_vrprintf(request_rec *r, const char *fmt, va_list vlist) + * @deffunc apr_ssize_t ap_vrprintf(request_rec *r, const char *fmt, va_list vlist) */ -AP_DECLARE(int) ap_vrprintf(request_rec *r, const char *fmt, va_list vlist); +AP_DECLARE(apr_ssize_t) ap_vrprintf(request_rec *r, const char *fmt, va_list vlist); /** * Output data to the client in a printf format @@ -377,9 +377,9 @@ AP_DECLARE(int) ap_vrprintf(request_rec *r, const char *fmt, va_list vlist); * @param fmt The format string * @param ... The arguments to use to fill out the format string * @return The number of bytes sent - * @deffunc int ap_rprintf(request_rec *r, const char *fmt, ...) + * @deffunc apr_ssize_t ap_rprintf(request_rec *r, const char *fmt, ...) */ -AP_DECLARE_NONSTD(int) ap_rprintf(request_rec *r, const char *fmt,...) +AP_DECLARE_NONSTD(apr_ssize_t) ap_rprintf(request_rec *r, const char *fmt,...) __attribute__((format(printf,2,3))); /** * Flush all of the data for the current request to the client @@ -443,9 +443,9 @@ AP_DECLARE(int) ap_should_client_block(request_rec *r); * @param bufsiz The size of the buffer * @return Number of bytes inserted into the buffer. When done reading, 0 * if EOF, or -1 if there was an error - * @deffunc long ap_get_client_block(request_rec *r, char *buffer, apr_size_t bufsiz) + * @deffunc apr_ssize_t ap_get_client_block(request_rec *r, char *buffer, apr_size_t bufsiz) */ -AP_DECLARE(long) ap_get_client_block(request_rec *r, char *buffer, apr_size_t bufsiz); +AP_DECLARE(apr_ssize_t) ap_get_client_block(request_rec *r, char *buffer, apr_size_t bufsiz); /** * In HTTP/1.1, any method can have a body. However, most GET handlers diff --git a/include/httpd.h b/include/httpd.h index 8ff392bf8f5..1d2cc0e63b5 100644 --- a/include/httpd.h +++ b/include/httpd.h @@ -1091,7 +1091,7 @@ struct server_rec { /** Pathname for ServerPath */ const char *path; /** Length of path */ - int pathlen; + apr_size_t pathlen; /** Normal names for ServerAlias servers */ apr_array_header_t *names; @@ -1244,7 +1244,7 @@ AP_DECLARE(const char *) ap_resolve_env(apr_pool_t *p, const char * word); * address of field is shifted to the next non-comma, non-whitespace * character. len is the length of the item excluding any beginning whitespace. */ -AP_DECLARE(const char *) ap_size_list_item(const char **field, int *len); +AP_DECLARE(const char *) ap_size_list_item(const char **field, apr_size_t *len); /** * Retrieve an HTTP header field list item, as separated by a comma, @@ -1587,7 +1587,7 @@ AP_DECLARE(void) ap_str_tolower(char *s); * @param c The character to search for * @return The index of the first occurrence of c in str */ -AP_DECLARE(int) ap_ind(const char *str, char c); /* Sigh... */ +AP_DECLARE(apr_ssize_t) ap_ind(const char *str, char c); /* Sigh... */ /** * Search a string from right to left for the first occurrence of a @@ -1596,7 +1596,7 @@ AP_DECLARE(int) ap_ind(const char *str, char c); /* Sigh... */ * @param c The character to search for * @return The index of the first occurrence of c in str */ -AP_DECLARE(int) ap_rind(const char *str, char c); +AP_DECLARE(apr_ssize_t) ap_rind(const char *str, char c); /** * Given a string, replace any bare " with \" . diff --git a/include/scoreboard.h b/include/scoreboard.h index 0a045d1859d..bff736d60d6 100644 --- a/include/scoreboard.h +++ b/include/scoreboard.h @@ -164,7 +164,7 @@ AP_DECLARE(void) ap_increment_counts(ap_sb_handle_t *sbh, request_rec *r); int ap_create_scoreboard(apr_pool_t *p, ap_scoreboard_e t); apr_status_t ap_reopen_scoreboard(apr_pool_t *p, apr_shm_t **shm, int detached); void ap_init_scoreboard(void *shared_score); -AP_DECLARE(int) ap_calc_scoreboard_size(void); +AP_DECLARE(apr_size_t) ap_calc_scoreboard_size(void); apr_status_t ap_cleanup_scoreboard(void *d); AP_DECLARE(void) ap_create_sb_handle(ap_sb_handle_t **new_sbh, apr_pool_t *p, diff --git a/include/util_script.h b/include/util_script.h index bdffb2b221d..ece07a04f2b 100644 --- a/include/util_script.h +++ b/include/util_script.h @@ -53,7 +53,7 @@ AP_DECLARE(char **) ap_create_environment(apr_pool_t *p, apr_table_t *t); * @return The length of the path info * @deffunc int ap_find_path_info(const char *uri, const char *path_info) */ -AP_DECLARE(int) ap_find_path_info(const char *uri, const char *path_info); +AP_DECLARE(apr_size_t) ap_find_path_info(const char *uri, const char *path_info); /** * Add CGI environment variables required by HTTP/1.1 to the request's @@ -131,7 +131,7 @@ AP_DECLARE_NONSTD(int) ap_scan_script_header_err_strs(request_rec *r, * @deffunc int ap_scan_script_header_err_core(request_rec *r, char *buffer, int (*getsfunc)(char *, int, void *), void *getsfunc_data) */ AP_DECLARE(int) ap_scan_script_header_err_core(request_rec *r, char *buffer, - int (*getsfunc) (char *, int, void *), + int (*getsfunc) (char *, apr_size_t, void *), void *getsfunc_data); #ifdef __cplusplus diff --git a/modules/http/http_protocol.c b/modules/http/http_protocol.c index 27fecaa14b6..9d32182c549 100644 --- a/modules/http/http_protocol.c +++ b/modules/http/http_protocol.c @@ -662,7 +662,7 @@ static int lookup_builtin_method(const char *method, apr_size_t len) */ AP_DECLARE(int) ap_method_number_of(const char *method) { - int len = strlen(method); + apr_size_t len = strlen(method); int which = lookup_builtin_method(method, len); if (which != UNKNOWN_METHOD) @@ -1858,7 +1858,7 @@ static long get_chunk_size(char *b) * Returns 0 on End-of-body, -1 on error or premature chunk end. * */ -AP_DECLARE(long) ap_get_client_block(request_rec *r, char *buffer, +AP_DECLARE(apr_ssize_t) ap_get_client_block(request_rec *r, char *buffer, apr_size_t bufsiz) { apr_status_t rv; diff --git a/server/core.c b/server/core.c index 1fe2cce3c59..5e926e9c2d1 100644 --- a/server/core.c +++ b/server/core.c @@ -2298,7 +2298,7 @@ static const char *set_serverpath(cmd_parms *cmd, void *dummy, } cmd->server->path = arg; - cmd->server->pathlen = (int)strlen(arg); + cmd->server->pathlen = strlen(arg); return NULL; } @@ -3009,19 +3009,20 @@ void ap_add_output_filters_by_type(request_rec *r) } static apr_status_t writev_it_all(apr_socket_t *s, - struct iovec *vec, int nvec, + struct iovec *vec, apr_size_t nvec, apr_size_t len, apr_size_t *nbytes) { apr_size_t bytes_written = 0; apr_status_t rv; apr_size_t n = len; - int i = 0; + apr_size_t i = 0; *nbytes = 0; /* XXX handle checking for non-blocking socket */ while (bytes_written != len) { - rv = apr_socket_sendv(s, vec + i, nvec - i, &n); + /* Cast to eliminate 64 bit warning */ + rv = apr_socket_sendv(s, vec + i, (apr_int32_t)(nvec - i), &n); *nbytes += n; bytes_written += n; if (rv != APR_SUCCESS) @@ -3793,7 +3794,7 @@ static int core_input_filter(ap_filter_t *f, apr_bucket_brigade *b, core_net_rec *net = f->ctx; core_ctx_t *ctx = net->in_ctx; const char *str; - apr_size_t len; + apr_ssize_t len; if (mode == AP_MODE_INIT) { /* @@ -4288,12 +4289,14 @@ static apr_status_t core_output_filter(ap_filter_t *f, apr_bucket_brigade *b) memset(&hdtr, '\0', sizeof(hdtr)); if (nvec) { - hdtr.numheaders = nvec; + /* Cast to eliminate 64 bit warning */ + hdtr.numheaders = (int)nvec; hdtr.headers = vec; } if (nvec_trailers) { - hdtr.numtrailers = nvec_trailers; + /* Cast to eliminate 64 bit warning */ + hdtr.numtrailers = (int)nvec_trailers; hdtr.trailers = vec_trailers; } diff --git a/server/protocol.c b/server/protocol.c index 81904a40a5e..445c72fe27e 100644 --- a/server/protocol.c +++ b/server/protocol.c @@ -1387,7 +1387,7 @@ AP_DECLARE(int) ap_rputc(int c, request_rec *r) return c; } -AP_DECLARE(int) ap_rputs(const char *str, request_rec *r) +AP_DECLARE(apr_ssize_t) ap_rputs(const char *str, request_rec *r) { apr_size_t len; @@ -1441,9 +1441,9 @@ static apr_status_t r_flush(apr_vformatter_buff_t *buff) return APR_SUCCESS; } -AP_DECLARE(int) ap_vrprintf(request_rec *r, const char *fmt, va_list va) +AP_DECLARE(apr_ssize_t) ap_vrprintf(request_rec *r, const char *fmt, va_list va) { - apr_size_t written; + apr_ssize_t written; struct ap_vrprintf_data vd; char vrprintf_buf[AP_IOBUFSIZE]; @@ -1461,7 +1461,7 @@ AP_DECLARE(int) ap_vrprintf(request_rec *r, const char *fmt, va_list va) *(vd.vbuff.curpos) = '\0'; if (written != -1) { - int n = vd.vbuff.curpos - vrprintf_buf; + apr_size_t n = vd.vbuff.curpos - vrprintf_buf; /* last call to buffer_output, to finish clearing the buffer */ if (buffer_output(r, vrprintf_buf,n) != APR_SUCCESS) @@ -1473,10 +1473,10 @@ AP_DECLARE(int) ap_vrprintf(request_rec *r, const char *fmt, va_list va) return written; } -AP_DECLARE_NONSTD(int) ap_rprintf(request_rec *r, const char *fmt, ...) +AP_DECLARE_NONSTD(apr_ssize_t) ap_rprintf(request_rec *r, const char *fmt, ...) { va_list va; - int n; + apr_ssize_t n; if (r->connection->aborted) return -1; @@ -1488,7 +1488,7 @@ AP_DECLARE_NONSTD(int) ap_rprintf(request_rec *r, const char *fmt, ...) return n; } -AP_DECLARE_NONSTD(int) ap_rvputs(request_rec *r, ...) +AP_DECLARE_NONSTD(apr_ssize_t) ap_rvputs(request_rec *r, ...) { va_list va; const char *s; diff --git a/server/request.c b/server/request.c index 11cad1bc4ac..3bf521b9ac0 100644 --- a/server/request.c +++ b/server/request.c @@ -1213,7 +1213,8 @@ AP_DECLARE(int) ap_location_walk(request_rec *r) /* We start now_merged from NULL since we want to build * a locations list that can be merged to any vhost. */ - int len, sec_idx; + apr_size_t len; + int sec_idx; int matches = cache->walked->nelts; walk_walked_t *last_walk = (walk_walked_t*)cache->walked->elts; cache->cached = entry_uri; diff --git a/server/scoreboard.c b/server/scoreboard.c index 465cb3d886d..02f81c74ff3 100644 --- a/server/scoreboard.c +++ b/server/scoreboard.c @@ -88,7 +88,7 @@ static apr_status_t ap_cleanup_shared_mem(void *d) return APR_SUCCESS; } -AP_DECLARE(int) ap_calc_scoreboard_size(void) +AP_DECLARE(apr_size_t) ap_calc_scoreboard_size(void) { ap_mpm_query(AP_MPMQ_HARD_LIMIT_THREADS, &thread_limit); ap_mpm_query(AP_MPMQ_HARD_LIMIT_DAEMONS, &server_limit); diff --git a/server/util.c b/server/util.c index a7d0d51cde5..d5f1464c524 100644 --- a/server/util.c +++ b/server/util.c @@ -451,7 +451,7 @@ AP_DECLARE(char *) ap_pregsub(apr_pool_t *p, const char *input, AP_DECLARE(void) ap_getparents(char *name) { char *next; - int l, w, first_dot; + apr_ssize_t l, w, first_dot; /* Four paseses, as per RFC 1808 */ /* a) remove ./ path segments */ @@ -480,7 +480,7 @@ AP_DECLARE(void) ap_getparents(char *name) while (name[l] != '\0') { if (name[l] == '.' && name[l + 1] == '.' && IS_SLASH(name[l + 2]) && (l == 0 || IS_SLASH(name[l - 1]))) { - register int m = l + 3, n; + register apr_ssize_t m = l + 3, n; l = l - 2; if (l >= 0) { @@ -592,7 +592,7 @@ AP_DECLARE(char *) ap_make_dirstr_parent(apr_pool_t *p, const char *s) { const char *last_slash = ap_strrchr_c(s, '/'); char *d; - int l; + apr_size_t l; if (last_slash == NULL) { return apr_pstrdup(p, ""); @@ -623,7 +623,7 @@ AP_DECLARE(char *) ap_getword_nc(apr_pool_t *atrans, char **line, char stop) AP_DECLARE(char *) ap_getword(apr_pool_t *atrans, const char **line, char stop) { const char *pos = *line; - int len; + apr_size_t len; char *res; while ((*pos != stop) && *pos) { @@ -653,7 +653,7 @@ AP_DECLARE(char *) ap_getword_white_nc(apr_pool_t *atrans, char **line) AP_DECLARE(char *) ap_getword_white(apr_pool_t *atrans, const char **line) { const char *pos = *line; - int len; + apr_size_t len; char *res; while (!apr_isspace(*pos) && *pos) { @@ -705,12 +705,12 @@ AP_DECLARE(char *) ap_getword_nulls(apr_pool_t *atrans, const char **line, * all honored */ -static char *substring_conf(apr_pool_t *p, const char *start, int len, +static char *substring_conf(apr_pool_t *p, const char *start, apr_size_t len, char quote) { char *result = apr_palloc(p, len + 2); char *resp = result; - int i; + apr_size_t i; for (i = 0; i < len; ++i) { if (start[i] == '\\' && (start[i + 1] == '\\' @@ -887,11 +887,13 @@ static int cfg_getch(void *param) return (int)EOF; } -static void *cfg_getstr(void *buf, size_t bufsiz, void *param) +static void *cfg_getstr(void *buf, apr_size_t bufsiz, void *param) { apr_file_t *cfp = (apr_file_t *) param; apr_status_t rv; - rv = apr_file_gets(buf, bufsiz, cfp); + + /* Cast to eliminate 64 bit warning */ + rv = apr_file_gets(buf, (int)bufsiz, cfp); if (rv == APR_SUCCESS) { return buf; } @@ -971,7 +973,7 @@ AP_DECLARE(apr_status_t) ap_pcfg_openfile(ap_configfile_t **ret_cfg, new_cfg->param = file; new_cfg->name = apr_pstrdup(p, name); new_cfg->getch = (int (*)(void *)) cfg_getch; - new_cfg->getstr = (void *(*)(void *, size_t, void *)) cfg_getstr; + new_cfg->getstr = (void *(*)(void *, apr_size_t, void *)) cfg_getstr; new_cfg->close = (int (*)(void *)) cfg_close; new_cfg->line_number = 0; *ret_cfg = new_cfg; @@ -1152,7 +1154,7 @@ AP_DECLARE(int) ap_cfg_getline(char *buf, size_t bufsize, ap_configfile_t *cfp) * of field is shifted to the next non-comma, non-whitespace character. * len is the length of the item excluding any beginning whitespace. */ -AP_DECLARE(const char *) ap_size_list_item(const char **field, int *len) +AP_DECLARE(const char *) ap_size_list_item(const char **field, apr_size_t *len) { const unsigned char *ptr = (const unsigned char *)*field; const unsigned char *token; @@ -1218,7 +1220,8 @@ AP_DECLARE(char *) ap_get_list_item(apr_pool_t *p, const char **field) const unsigned char *ptr; unsigned char *pos; char *token; - int addspace = 0, in_qpair = 0, in_qstr = 0, in_com = 0, tok_len = 0; + int addspace = 0, in_qpair = 0, in_qstr = 0, in_com = 0; + apr_size_t tok_len = 0; /* Find the beginning and maximum length of the list item so that * we can allocate a buffer for the new string and reset the field. @@ -1411,7 +1414,7 @@ AP_DECLARE(char *) ap_get_token(apr_pool_t *p, const char **accept_line, const char *ptr = *accept_line; const char *tok_start; char *token; - int tok_len; + apr_size_t tok_len; /* Find first non-white byte */ @@ -1484,7 +1487,8 @@ AP_DECLARE(int) ap_find_token(apr_pool_t *p, const char *line, const char *tok) AP_DECLARE(int) ap_find_last_token(apr_pool_t *p, const char *line, const char *tok) { - int llen, tlen, lidx; + apr_size_t llen, tlen; + apr_ssize_t lidx; if (!line) return 0; @@ -1969,7 +1973,7 @@ AP_DECLARE(int) ap_is_url(const char *u) return (x ? 1 : 0); /* If the first character is ':', it's broken, too */ } -AP_DECLARE(int) ap_ind(const char *s, char c) +AP_DECLARE(apr_ssize_t) ap_ind(const char *s, char c) { const char *p = ap_strchr_c(s, c); @@ -1978,7 +1982,7 @@ AP_DECLARE(int) ap_ind(const char *s, char c) return p - s; } -AP_DECLARE(int) ap_rind(const char *s, char c) +AP_DECLARE(apr_ssize_t) ap_rind(const char *s, char c) { const char *p = ap_strrchr_c(s, c); @@ -2079,10 +2083,13 @@ AP_DECLARE(char *) ap_pbase64decode(apr_pool_t *p, const char *bufcoded) AP_DECLARE(char *) ap_pbase64encode(apr_pool_t *p, char *string) { char *encoded; - int l = strlen(string); + apr_size_t l = strlen(string); + + /* Cast to eliminate 64 bit warning */ + encoded = (char *) apr_palloc(p, 1 + apr_base64_encode_len((int)l)); - encoded = (char *) apr_palloc(p, 1 + apr_base64_encode_len(l)); - l = apr_base64_encode(encoded, string, l); + /* Cast to eliminate 64 bit warning */ + l = apr_base64_encode(encoded, string, (int)l); encoded[l] = '\0'; /* make binary sequence into string */ return encoded; diff --git a/server/util_script.c b/server/util_script.c index f7788926b30..20845aa9736 100644 --- a/server/util_script.c +++ b/server/util_script.c @@ -283,10 +283,10 @@ AP_DECLARE(void) ap_add_common_vars(request_rec *r) * and find as much of the two that match as possible. */ -AP_DECLARE(int) ap_find_path_info(const char *uri, const char *path_info) +AP_DECLARE(apr_size_t) ap_find_path_info(const char *uri, const char *path_info) { - int lu = strlen(uri); - int lp = strlen(path_info); + apr_ssize_t lu = strlen(uri); + apr_size_t lp = strlen(path_info); while (lu-- && lp-- && uri[lu] == path_info[lp]); @@ -354,7 +354,7 @@ AP_DECLARE(void) ap_add_cgi_vars(request_rec *r) apr_table_setn(e, "SCRIPT_NAME", r->uri); } else { - int path_info_start = ap_find_path_info(r->uri, r->path_info); + apr_size_t path_info_start = ap_find_path_info(r->uri, r->path_info); apr_table_setn(e, "SCRIPT_NAME", apr_pstrndup(r->pool, r->uri, path_info_start)); @@ -394,12 +394,12 @@ static int set_cookie_doo_doo(void *v, const char *key, const char *val) } AP_DECLARE(int) ap_scan_script_header_err_core(request_rec *r, char *buffer, - int (*getsfunc) (char *, int, void *), + int (*getsfunc) (char *, apr_size_t, void *), void *getsfunc_data) { char x[MAX_STRING_LEN]; char *w, *l; - int p; + apr_size_t p; int cgi_status = HTTP_OK; apr_table_t *merge; apr_table_t *cookie_table; @@ -581,9 +581,10 @@ AP_DECLARE(int) ap_scan_script_header_err_core(request_rec *r, char *buffer, return OK; } -static int getsfunc_FILE(char *buf, int len, void *f) +static int getsfunc_FILE(char *buf, apr_size_t len, void *f) { - return apr_file_gets(buf, len, (apr_file_t *) f) == APR_SUCCESS; + /* Cast to eliminate 64 bit warning */ + return apr_file_gets(buf, (int)len, (apr_file_t *) f) == APR_SUCCESS; } AP_DECLARE(int) ap_scan_script_header_err(request_rec *r, apr_file_t *f, @@ -592,7 +593,7 @@ AP_DECLARE(int) ap_scan_script_header_err(request_rec *r, apr_file_t *f, return ap_scan_script_header_err_core(r, buffer, getsfunc_FILE, f); } -static int getsfunc_BRIGADE(char *buf, int len, void *arg) +static int getsfunc_BRIGADE(char *buf, apr_size_t len, void *arg) { apr_bucket_brigade *bb = (apr_bucket_brigade *)arg; const char *dst_end = buf + len - 1; /* leave room for terminating null */ @@ -650,11 +651,11 @@ struct vastrs { const char *curpos; }; -static int getsfunc_STRING(char *w, int len, void *pvastrs) +static int getsfunc_STRING(char *w, apr_size_t len, void *pvastrs) { struct vastrs *strs = (struct vastrs*) pvastrs; const char *p; - int t; + apr_size_t t; if (!strs->curpos || !*strs->curpos) return 0; @@ -674,7 +675,7 @@ static int getsfunc_STRING(char *w, int len, void *pvastrs) } else strs->curpos += t; - return t; + return (int)t; } /* ap_scan_script_header_err_strs() accepts additional const char* args...