Lines Matching refs:src
149 const char* src = start;
155 if (IsPathSeparator(*src)) {
158 if (src + 2 <= end && IsPathSeparator(src[1])) {
159 src += 2;
162 ++src;
166 ++src;
174 while (src + 3 <= end && src[0] == '.' && src[1] == '.' &&
175 IsPathSeparator(src[2])) {
176 src += 3;
185 for (; src < end; src = src_next) {
191 static_cast<const char*>(::memchr(src, '/', end - src));
199 const char* next_sep = src;
210 size_t component_len = next_sep - src;
216 if (src[0] == '.') {
219 } else if (src[1] == '.') {
230 dst[2] = src[2];
240 if (dst != src) {
241 ::memmove(dst, src, src_next - src);
243 dst += src_next - src;
249 size_t component_len = end - src;
253 if (src[0] == '.') {
256 if (component_len == 2 && src[1] == '.') {
272 if (dst != src) {
273 ::memmove(dst, src, component_len);