#include "retr.h"
#include "connect.h"
#include "netrc.h"
+#include "iri.h"
#ifdef HAVE_SSL
# include "ssl.h"
#endif
char *tmp = strchr (type, ';');
if (tmp)
{
-#ifdef ENABLE_IRI
+ /* sXXXav: only needed if IRI support is enabled */
char *tmp2 = tmp + 1;
-#endif
while (tmp > type && c_isspace (tmp[-1]))
--tmp;
*tmp = '\0';
-#ifdef ENABLE_IRI
- if (opt.enable_iri && *tmp2 != '\0' &&
- (tmp = strstr (tmp2, "charset=")) != NULL)
- {
- tmp += 8;
- tmp2 = tmp;
-
- while (*tmp2 && !c_isspace (*tmp2))
- tmp2++;
-
- if (tmp2 > tmp)
- {
- *tmp2 = '\0';
- /* sXXXav : check given charset */
- logprintf (LOG_VERBOSE, "HTTP charset: `%s'\n", tmp);
- }
- }
-#endif
+ /* Try to get remote encoding if needed */
+ if (opt.enable_iri && !opt.encoding_remote)
+ /* xxx = */ parse_charset (tmp2);
}
}
hs->newloc = resp_header_strdup (resp, "Location");
Netscape cookie specification.) */
};
const char *oldlocale;
- int i;
+ size_t i;
time_t ret = (time_t) -1;
/* Solaris strptime fails to recognize English month names in
au += 6; /* skip over `Digest' */
while (extract_param (&au, &name, &value, ','))
{
- int i;
+ size_t i;
+ size_t namelen = name.e - name.b;
for (i = 0; i < countof (options); i++)
- if (name.e - name.b == strlen (options[i].name)
- && 0 == strncmp (name.b, options[i].name, name.e - name.b))
+ if (namelen == strlen (options[i].name)
+ && 0 == strncmp (name.b, options[i].name,
+ namelen))
{
*options[i].variable = strdupdelim (value.b, value.e);
break;
first argument and are followed by whitespace or terminating \0.
The comparison is case-insensitive. */
#define STARTS(literal, b, e) \
- ((e) - (b) >= STRSIZE (literal) \
+ ((e > b) \
+ && ((size_t) ((e) - (b))) >= STRSIZE (literal) \
&& 0 == strncasecmp (b, literal, STRSIZE (literal)) \
- && ((e) - (b) == STRSIZE (literal) \
+ && ((size_t) ((e) - (b)) == STRSIZE (literal) \
|| c_isspace (b[STRSIZE (literal)])))
static bool