Skip to content

Commit 1908efa

Browse files
committed
feat: Return to old delim logic
1 parent 7a3d4ee commit 1908efa

File tree

1 file changed

+35
-11
lines changed

1 file changed

+35
-11
lines changed

src/libltfs/index_criteria.c

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -288,20 +288,44 @@ int index_criteria_parse_name(const char *criteria, size_t len, struct index_cri
288288
/* Assign rules to the glob_patterns[] array */
289289
rule = rule+5;
290290
for (delim = rule; *delim; delim++) {
291-
if (*delim == ':' || *delim == '/') {
292-
*delim = '\0';
293-
}
291+
/*bool doDelimAssign = false;
292+
bool doRuleAdd = false;
293+
if (*delim == ':') {
294+
doDelimAssign = true;
295+
doRuleAdd = true;
296+
}
297+
else if (*delim == '/') {
298+
doDelimAssign = true;
299+
}
300+
else if (! (*(delim+1) == '\0')) {
301+
continue;
302+
}
303+
if (doDelimAssign) *delim = '\0';
304+
rule_ptr->percent_encode = fs_is_percent_encode_required(rule);
305+
rule_ptr->name = strdup(rule);
306+
if (! rule_ptr->name) {
307+
ltfsmsg(LTFS_ERR, 10001E, "index_criteria_parse_name: rule assign");
308+
free(rule_ptr->name);
309+
return -EDEV_NO_MEMORY;
310+
}
311+
rule_ptr++;
312+
if (doRuleAdd) rule = delim+1;*/
313+
if (*delim == ':') {
314+
*delim = '\0';
294315
rule_ptr->percent_encode = fs_is_percent_encode_required(rule);
295316
rule_ptr->name = strdup(rule);
296-
if (! rule_ptr->name) {
297-
ltfsmsg(LTFS_ERR, 10001E, "index_criteria_parse_name: rule assign");
298-
free(rule_ptr->name);
299-
return -EDEV_NO_MEMORY;
300-
}
301317
rule_ptr++;
302-
if (*delim == ':') {
303-
rule = delim+1;
304-
}
318+
rule = delim+1;
319+
} else if (*delim == '/') {
320+
*delim = '\0';
321+
rule_ptr->percent_encode = fs_is_percent_encode_required(rule);
322+
rule_ptr->name = strdup(rule);
323+
rule_ptr++;
324+
} else if (*(delim+1) == '\0') {
325+
rule_ptr->percent_encode = fs_is_percent_encode_required(rule);
326+
rule_ptr->name = strdup(rule);
327+
rule_ptr++;
328+
}
305329
}
306330

307331
if (ic->glob_patterns == rule_ptr) {

0 commit comments

Comments
 (0)