diff --git a/stagit-index.c b/stagit-index.c index 8a53463..087ae1e 100644 --- a/stagit-index.c +++ b/stagit-index.c @@ -38,8 +38,8 @@ percentencode(FILE *fp, const char *s, size_t len) for (i = 0; *s && i < len; s++, i++) { uc = *s; - /* NOTE: do not encode '/' for paths */ - if (uc < '/' || uc >= 127 || (uc >= ':' && uc <= '@') || + /* NOTE: do not encode '/' for paths or ",-." */ + if (uc < ',' || uc >= 127 || (uc >= ':' && uc <= '@') || uc == '[' || uc == ']') { putc('%', fp); putc(tab[(uc >> 4) & 0x0f], fp); diff --git a/stagit.c b/stagit.c index 6e0c15e..22fc2aa 100644 --- a/stagit.c +++ b/stagit.c @@ -369,8 +369,8 @@ percentencode(FILE *fp, const char *s, size_t len) for (i = 0; *s && i < len; s++, i++) { uc = *s; - /* NOTE: do not encode '/' for paths */ - if (uc < '/' || uc >= 127 || (uc >= ':' && uc <= '@') || + /* NOTE: do not encode '/' for paths or ",-." */ + if (uc < ',' || uc >= 127 || (uc >= ':' && uc <= '@') || uc == '[' || uc == ']') { putc('%', fp); putc(tab[(uc >> 4) & 0x0f], fp);