- char *ptr = linebuf;
- ptr += strspn (ptr, " \t"); /* Skip whites */
- if (strncmp (ptr, "XDG_", 4))
- continue;
- ptr += 4; /* Skip XDG_ */
- if (strncmp (ptr, xdg_name, namelen))
- continue;
- ptr += namelen; /* Skip XDG type name */
- if (strncmp (ptr, "_DIR", 4))
- continue;
- ptr += 4; /* Skip _DIR */
- ptr += strspn (ptr, " \t"); /* Skip whites */
- if (*ptr != '=')
- continue;
- ptr++; /* Skip equality sign */
- ptr += strspn (ptr, " \t"); /* Skip whites */
- if (*ptr != '"')
- continue;
- ptr++; /* Skip quote */
- linelen -= ptr - linebuf;
-
- char *out;
- if (strncmp (ptr, "$HOME", 5))