pike.git/src/combine_path.h:78: Inside #if defined(IS_ROOT)
from+=tmp;
}
#endif
#define LAST_PUSHED() (s->s->len ? index_shared_string(s->s,s->s->len-1) : 0)
#define PUSH(X) string_builder_putchar(s,(X))
if(s->s->len && !IS_SEP(LAST_PUSHED()))
PUSH('/');
- while(s->s->len==2)
+ if(s->s->len==2)
{
PCHARP to=MKPCHARP_STR(s->s);
if(INDEX_PCHARP(to, 0) == '.')
{
s->s->len=0;
s->known_shift=0;
}
}
while(1)
pike.git/src/combine_path.h:156:
#endif
from++;
continue;
}
}
}
if(from>=len) break;
PUSH(INDEX_PCHARP(path, from++));
}
- if(s->s->len &&
+ if((s->s->len > 1) &&
!IS_SEP(INDEX_PCHARP(path, from-1)) &&
IS_SEP(LAST_PUSHED()))
s->s->len--;
if(!s->s->len)
{
if(abs)
{
PUSH('/');
}else{