From: Adam Dickmeiss Date: Thu, 24 May 2007 10:18:36 +0000 (+0000) Subject: Function encode_uri_char does not hex encode unreserved chars (RFC 2396 X-Git-Tag: YAZ.3.0.10~81 X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=commitdiff_plain;h=a0ae7e668314833310c9197dc451f893ec9c5731 Function encode_uri_char does not hex encode unreserved chars (RFC 2396 section 2.3). --- diff --git a/src/srwutil.c b/src/srwutil.c index 96426ca..b115ffc 100644 --- a/src/srwutil.c +++ b/src/srwutil.c @@ -2,7 +2,7 @@ * Copyright (C) 1995-2007, Index Data ApS * See the file LICENSE for details. * - * $Id: srwutil.c,v 1.58 2007-05-23 13:11:11 adam Exp $ + * $Id: srwutil.c,v 1.59 2007-05-24 10:18:36 adam Exp $ */ /** * \file srwutil.c @@ -28,8 +28,9 @@ void encode_uri_char(char *dst, char ch) { if (ch == ' ') strcpy(dst, "+"); + /* mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")" */ else if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || - (ch >= '0' && ch <= '9')) + (ch >= '0' && ch <= '9') || strchr("-_.!~*'(|)", ch)) { dst[0] = ch; dst[1] = '\0';