Lines Matching defs:components
35 compare two filename components. This is where the name mangling hook will go
64 /* break into a series of components */
66 char **components;
70 /* break up the full name info pathname components */
80 components = talloc_array(name, char *, num_components);
84 components[0] = name->full_name;
87 components[i] = p;
90 if (pvfs_is_reserved_name(pvfs, components[i])) {
95 partial_name = talloc_strdup(name, components[0]);
109 long_component = pvfs_mangled_lookup(pvfs, name, components[i]);
111 components[i] = long_component;
114 test_name = talloc_asprintf(name, "%s/%s", partial_name, components[i]);
136 !pvfs_is_mangled_component(pvfs, components[i])) {
150 if (component_compare(pvfs, components[i], de->d_name) == 0) {
161 components[i] = talloc_strdup(name, de->d_name);
163 test_name = talloc_asprintf(name, "%s/%s", partial_name, components[i]);
377 reduce a name that contains .. components or repeated \ separators
387 char **components;
398 components = talloc_array(s, char *, num_components+1);
399 if (components == NULL) {
404 components[0] = s;
409 components[++i] = p+1;
412 components[i+1] = NULL;
417 '.' components are not allowed, but the rules for what error
421 for (err_count=i=0;components[i];i++) {
422 if (strcmp(components[i], "") == 0) {
425 if (ISDOT(components[i]) || err_count) {
439 /* remove any null components */
440 for (i=0;components[i];i++) {
441 if (strcmp(components[i], "") == 0) {
442 memmove(&components[i], &components[i+1],
447 if (ISDOTDOT(components[i])) {
449 memmove(&components[i-1], &components[i+1],
456 if (components[0] == NULL) {
462 for (len=i=0;components[i];i++) {
463 len += strlen(components[i]) + 1;
473 for (len=0,i=0;components[i];i++) {
474 size_t len1 = strlen(components[i]);
476 memcpy(ret+len+1, components[i], len1);
524 /* it might contain .. components which need to be reduced */