commit - f5bc8482f4f41abd20e767dd613fc323713f3820
commit + 245a86c365a3d921a0ac2157809060c52925d619
blob - 152a34c6023838c2691b4cd1052849df3caeeccb
blob + c519730b00527490ead2d9c69c73074293ad25df
--- iri.c
+++ iri.c
static inline int
remove_dot_segments(struct iri *iri)
{
- char *p, *q, *buf;
+ char *p, *q, *buf, *s;
ptrdiff_t bufsize;
buf = p = q = iri->iri_path;
break;
}
/* E */
- while (*p && *p != '/' && (q - buf < bufsize))
+ s = strchr(p + 1, '/');
+ while (*p && p != s && (q - buf < bufsize))
*q++ = *p++;
}