extern char *chxj_jreserved_to_safe_tag(request_rec *r, const char *src, chxjconvrule_entry *entryp);
extern char *chxj_safe_to_jreserved_tag(request_rec *r, const char *src);
-extern char *chxj_jreserved_tag_to_safe_for_query_string(request_rec *r, const char *query_string, chxjconvrule_entry *entryp);
+extern char *chxj_jreserved_tag_to_safe_for_query_string(request_rec *r, const char *query_string, chxjconvrule_entry *entryp, int xmlflag);
#endif
value = chxj_encoding_parameter(r, value, 0);
if (! chxj_starts_with(value, "mailto:") && ! chxj_starts_with(value, "tel:")) {
value = chxj_add_cookie_parameter(r, value, jhtml->cookie);
- value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jhtml->entryp);
+ value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jhtml->entryp, 0);
}
W_L(" href=\"");
W_V(value);
/*--------------------------------------------------------------------*/
#ifdef IMG_NOT_CONVERT_FILENAME
value = chxj_encoding_parameter(r, value, 0);
- value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jhtml->entryp);
+ value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jhtml->entryp, 0);
value = chxj_add_cookie_parameter(r, value, jhtml->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
attr_src = value;
#else
value = chxj_img_conv(r, spec, value);
value = chxj_encoding_parameter(r, value, 0);
- value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jhtml->entryp);
+ value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jhtml->entryp, 0);
value = chxj_add_cookie_parameter(r, value, jhtml->cookie);
value = chxj_add_cookie_no_update_parameter(r, value);
attr_src = value;
}
char *
-chxj_jreserved_tag_to_safe_for_query_string(request_rec *r, const char *query_string, chxjconvrule_entry *entryp)
+chxj_jreserved_tag_to_safe_for_query_string(request_rec *r, const char *query_string, chxjconvrule_entry *entryp, int xmlflag)
{
apr_pool_t *pool;
apr_pool_create(&pool, r->pool);
char *pstat;
char *pstat2;
for (;;) {
- char *pair = apr_strtok(s, "&", &pstat);
+ char *pair = NULL;
+ if (xmlflag) {
+ pair = apr_strtok(s, "&", &pstat);
+ }
+ else {
+ pair = apr_strtok(s, "&", &pstat);
+ }
if (! pair) break;
s = NULL;
char *key = apr_strtok(pair, "=", &pstat2);
else {
tmp = apr_psprintf(pool, "%s=%s", chxj_jreserved_to_safe_tag(r, key, entryp), chxj_url_decode(pool, val));
if (result) {
- result = apr_pstrcat(pool, result, "&" ,tmp, NULL);
+ if (xmlflag) {
+ result = apr_pstrcat(pool, result, "&" ,tmp, NULL);
+ }
+ else {
+ result = apr_pstrcat(pool, result, "&" ,tmp, NULL);
+ }
}
else {
result = tmp;
/*----------------------------------------------------------------------*/
value = chxj_encoding_parameter(r, value, 1);
if (! chxj_starts_with(value, "mailto:") && ! chxj_starts_with(value, "tel:")) {
- value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jxhtml->entryp);
+ value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jxhtml->entryp, 1);
}
W_L(" href=\"");
W_V(value);
}
if (attr_name) {
W_L(" name=\"");
- W_V(attr_name);
+ W_V(chxj_jreserved_to_safe_tag(r, attr_name, jxhtml->entryp));
W_L("\"");
}
if (attr_value) {
/*----------------------------------------------------------------------*/
#ifdef IMG_NOT_CONVERT_FILENAME
value = chxj_encoding_parameter(r, value, 1);
- value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jxhtml->entryp);
+ value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jxhtml->entryp, 1);
value = chxj_add_cookie_no_update_parameter(r, value);
attr_src = value;
#else
value = chxj_img_conv(r, spec, value);
value = chxj_encoding_parameter(r, value, 1);
- value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jxhtml->entryp);
+ value = chxj_jreserved_tag_to_safe_for_query_string(r, value, jxhtml->entryp, 1);
value = chxj_add_cookie_no_update_parameter(r, value);
attr_src = value;
#endif