aboutsummaryrefslogtreecommitdiff
path: root/src/fs/fs_uri.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fs/fs_uri.c')
-rw-r--r--src/fs/fs_uri.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/src/fs/fs_uri.c b/src/fs/fs_uri.c
index 2057a18f6..48fabc1fb 100644
--- a/src/fs/fs_uri.c
+++ b/src/fs/fs_uri.c
@@ -1033,9 +1033,8 @@ canonicalize_keyword (const char *in)
1033 wpos++; 1033 wpos++;
1034 break; 1034 break;
1035 default: 1035 default:
1036 if (isspace ((unsigned char) *rpos) || 1036 if (isspace ((unsigned char) *rpos) || isdigit ((unsigned char) *rpos))
1037 isdigit ((unsigned char) *rpos) ) 1037 break;
1038 break;
1039 /* replace characters listed above with '_' */ 1038 /* replace characters listed above with '_' */
1040 *wpos = '_'; 1039 *wpos = '_';
1041 wpos++; 1040 wpos++;
@@ -1073,24 +1072,19 @@ GNUNET_FS_uri_ksk_canonicalize (const struct GNUNET_FS_Uri *uri)
1073 for (i = 0; i < kc; i++) 1072 for (i = 0; i < kc; i++)
1074 { 1073 {
1075 in = uri->data.ksk.keywords[i]; 1074 in = uri->data.ksk.keywords[i];
1076 GNUNET_FS_uri_ksk_add_keyword (ret, 1075 GNUNET_FS_uri_ksk_add_keyword (ret, &in[1],
1077 &in[1], 1076 (in[0] == '+') ? GNUNET_YES : GNUNET_NO);
1078 (in[0] == '+') ? GNUNET_YES : GNUNET_NO);
1079 sb = GNUNET_strdup (&in[1]); 1077 sb = GNUNET_strdup (&in[1]);
1080#define DELIMS " \\|\"'`/&@-_,.;!?+-*^$#~=[]{}()<>" 1078#define DELIMS " \\|\"'`/&@-_,.;!?+-*^$#~=[]{}()<>"
1081 for (tok = strtok (sb, DELIMS); NULL != tok; tok = strtok (NULL, DELIMS)) 1079 for (tok = strtok (sb, DELIMS); NULL != tok; tok = strtok (NULL, DELIMS))
1082#undef DELIMS 1080#undef DELIMS
1083 { 1081 {
1084 if (strlen(tok) < 3) 1082 if (strlen (tok) < 3)
1085 continue; 1083 continue;
1086 GNUNET_FS_uri_ksk_add_keyword (ret, 1084 GNUNET_FS_uri_ksk_add_keyword (ret, tok, GNUNET_NO);
1087 tok,
1088 GNUNET_NO);
1089 cc = canonicalize_keyword (tok); 1085 cc = canonicalize_keyword (tok);
1090 if (strlen (cc) > 2) 1086 if (strlen (cc) > 2)
1091 GNUNET_FS_uri_ksk_add_keyword (ret, 1087 GNUNET_FS_uri_ksk_add_keyword (ret, cc, GNUNET_NO);
1092 cc,
1093 GNUNET_NO);
1094 } 1088 }
1095 GNUNET_free (sb); 1089 GNUNET_free (sb);
1096 } 1090 }