diff options
Diffstat (limited to 'src/fs/fs_uri.c')
-rw-r--r-- | src/fs/fs_uri.c | 22 |
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 | } |