projects
/
privoxy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Import release feed
[privoxy.git]
/
parsers.c
diff --git
a/parsers.c
b/parsers.c
index
57e5cde
..
699ae7c
100644
(file)
--- a/
parsers.c
+++ b/
parsers.c
@@
-1,11
+1,10
@@
-const char parsers_rcs[] = "$Id: parsers.c,v 1.310 2016/12/09 09:13:19 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/parsers.c,v $
*
* Purpose : Declares functions to parse/crunch headers and pages.
*
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/parsers.c,v $
*
* Purpose : Declares functions to parse/crunch headers and pages.
*
- * Copyright : Written by and Copyright (C) 2001-201
6
the
+ * Copyright : Written by and Copyright (C) 2001-201
7
the
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
@@
-90,8
+89,6
@@
const char parsers_rcs[] = "$Id: parsers.c,v 1.310 2016/12/09 09:13:19 fabiankei
#include "strptime.h"
#endif
#include "strptime.h"
#endif
-const char parsers_h_rcs[] = PARSERS_H_VERSION;
-
static char *get_header_line(struct iob *iob);
static jb_err scan_headers(struct client_state *csp);
static jb_err header_tagger(struct client_state *csp, char *header);
static char *get_header_line(struct iob *iob);
static jb_err scan_headers(struct client_state *csp);
static jb_err header_tagger(struct client_state *csp, char *header);
@@
-252,13
+249,14
@@
static const add_header_func_ptr add_server_headers[] = {
/*********************************************************************
*
/*********************************************************************
*
- * Function : flush_
socket
+ * Function : flush_
iob
*
* Description : Write any pending "buffered" content.
*
* Parameters :
* 1 : fd = file descriptor of the socket to read
* 2 : iob = The I/O buffer to flush, usually csp->iob.
*
* Description : Write any pending "buffered" content.
*
* Parameters :
* 1 : fd = file descriptor of the socket to read
* 2 : iob = The I/O buffer to flush, usually csp->iob.
+ * 3 : delay = Number of milliseconds to delay the writes
*
* Returns : On success, the number of bytes written are returned (zero
* indicates nothing was written). On error, -1 is returned,
*
* Returns : On success, the number of bytes written are returned (zero
* indicates nothing was written). On error, -1 is returned,
@@
-268,7
+266,7
@@
static const add_header_func_ptr add_server_headers[] = {
* file, the results are not portable.
*
*********************************************************************/
* file, the results are not portable.
*
*********************************************************************/
-long flush_
socket(jb_socket fd, struct iob *iob
)
+long flush_
iob(jb_socket fd, struct iob *iob, unsigned int delay
)
{
long len = iob->eod - iob->cur;
{
long len = iob->eod - iob->cur;
@@
-277,7
+275,7
@@
long flush_socket(jb_socket fd, struct iob *iob)
return(0);
}
return(0);
}
- if (write_socket
(fd, iob->cur, (size_t)len
))
+ if (write_socket
_delayed(fd, iob->cur, (size_t)len, delay
))
{
return(-1);
}
{
return(-1);
}
@@
-1816,7
+1814,9
@@
static jb_err client_keep_alive(struct client_state *csp, char **header)
static jb_err get_content_length(const char *header_value, unsigned long long *length)
{
#ifdef _WIN32
static jb_err get_content_length(const char *header_value, unsigned long long *length)
{
#ifdef _WIN32
- assert(sizeof(unsigned long long) > 4);
+#if SIZEOF_LONG_LONG < 8
+#error sizeof(unsigned long long) too small
+#endif
if (1 != sscanf(header_value, "%I64u", length))
#else
if (1 != sscanf(header_value, "%llu", length))
if (1 != sscanf(header_value, "%I64u", length))
#else
if (1 != sscanf(header_value, "%llu", length))
@@
-4644,7
+4644,14
@@
static jb_err handle_conditional_hide_referrer_parameter(char **header,
static void create_content_length_header(unsigned long long content_length,
char *header, size_t buffer_length)
{
static void create_content_length_header(unsigned long long content_length,
char *header, size_t buffer_length)
{
+#ifdef _WIN32
+#if SIZEOF_LONG_LONG < 8
+#error sizeof(unsigned long long) too small
+#endif
+ snprintf(header, buffer_length, "Content-Length: %I64u", content_length);
+#else
snprintf(header, buffer_length, "Content-Length: %llu", content_length);
snprintf(header, buffer_length, "Content-Length: %llu", content_length);
+#endif
}
}