* XXX: The buffer handling in this module is really horrible, but it works.
*/
-#include "ucw/lib.h"
-#include "ucw/url.h"
-#include "ucw/chartype.h"
-#include "ucw/conf.h"
-#include "ucw/prime.h"
+#include <ucw/lib.h>
+#include <ucw/url.h>
+#include <ucw/chartype.h>
+#include <ucw/conf.h>
+#include <ucw/prime.h>
#include <string.h>
#include <stdlib.h>
val = NCC_AND; break;
case '#':
val = NCC_HASH; break;
-#ifndef CONFIG_URL_ESCAPE_COMPAT
case '$':
val = NCC_DOLLAR; break;
case '+':
val = NCC_PLUS; break;
case ',':
val = NCC_COMMA; break;
-#endif
}
*d++ = val;
s += 3;
c == '!' || c == '*' || c == '\'' || c == '(' || c == ')' || /* ... and some exceptions and reserved chars */
c == '$' || c == '-' || c == '_' || c == '.' || c == '+' ||
c == ',' || c == '=' || c == '&' || c == '#' || c == ';' ||
- c == '/' || c == '?' || c == ':' || c == '@'
-#ifndef CONFIG_URL_ESCAPE_COMPAT
- || c == '~'
-#endif
+ c == '/' || c == '?' || c == ':' || c == '@' || c == '~'
)
*d++ = *s++;
else
{
- uns val = ((byte)*s < NCC_MAX) ? NCC_CHARS[(byte)*s] : *s;
+ uns val = (byte)(((byte)*s < NCC_MAX) ? NCC_CHARS[(byte)*s] : *s);
*d++ = '%';
*d++ = enhex(val >> 4);
*d++ = enhex(val & 0x0f);
{
if (dest >= end)
return URL_ERR_TOO_LONG;
- if (*srcb < NCC_MAX)
+ if ((byte)*srcb < NCC_MAX)
*dest++ = NCC_CHARS[*srcb++];
else if (*srcb >= 0x20 && *srcb < 0x7f)
*dest++ = *srcb++;
else
{
*dest++ = '%';
- *dest++ = enhex(*srcb >> 4);
+ *dest++ = enhex((byte)*srcb >> 4);
*dest++ = enhex(*srcb++ & 0x0f);
}
}