aboutsummaryrefslogtreecommitdiffstats
path: root/indep.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--indep.c35
1 files changed, 4 insertions, 31 deletions
diff --git a/indep.c b/indep.c
index dd62c9f..f28d6be 100644
--- a/indep.c
+++ b/indep.c
@@ -1,4 +1,4 @@
-/* $Id: indep.c,v 1.27 2002/12/24 17:20:47 ukai Exp $ */
+/* $Id: indep.c,v 1.28 2003/01/08 17:24:12 ukai Exp $ */
#include "fm.h"
#include <stdio.h>
#include <pwd.h>
@@ -535,34 +535,6 @@ url_quote(char *str)
}
char *
-url_unquote(char *str)
-{
- Str tmp = NULL;
- char *p, *q;
- int c;
-
- for (p = str; *p;) {
- if (*p == '%') {
- q = p;
- c = url_unquote_char(&q);
- if (c >= 0 && c != '\0' && c != '\n' && c != '\r') {
- if (tmp == NULL)
- tmp = Strnew_charp_n(str, (int)(p - str));
- Strcat_char(tmp, (char)c);
- p = q;
- continue;
- }
- }
- if (tmp)
- Strcat_char(tmp, *p);
- p++;
- }
- if (tmp)
- return tmp->ptr;
- return str;
-}
-
-char *
file_quote(char *str)
{
Str tmp = NULL;
@@ -661,15 +633,16 @@ Str_form_quote(Str x)
return x;
}
+
Str
-Str_form_unquote(Str x)
+Str_url_unquote(Str x, int is_form)
{
Str tmp = NULL;
char *p = x->ptr, *ep = x->ptr + x->length, *q;
int c;
for (; p < ep;) {
- if (*p == '+') {
+ if (is_form && *p == '+') {
if (tmp == NULL)
tmp = Strnew_charp_n(x->ptr, (int)(p - x->ptr));
Strcat_char(tmp, ' ');