char *p;
int f;
cpp_buffer *fp;
+ char *epath = 0;
/* The code looks at the defaults through this pointer, rather than through
* the constant structure above. This pointer gets changed if an environment
{ /* read the appropriate environment variable and if it exists
* replace include_defaults with the listed path. */
- char *epath = 0;
-
switch ((opts->objc << 1) + opts->cplusplus)
{
case 0:
if (fd < 0)
{
cpp_perror_with_name(pfile, pend->arg);
+ if (epath) free(include_defaults);
return FATAL_EXIT_CODE;
}
cpp_push_buffer(pfile, NULL, 0);
{
cpp_perror_with_name(pfile, pend->arg);
if (f) close(f);
+ if (epath) free(include_defaults);
return FATAL_EXIT_CODE;
}
cpp_push_buffer(pfile, NULL, 0);
if (finclude(pfile, f, fname, 0, NULL))
output_line_command(pfile, 0, same_file);
+ if (epath) free(include_defaults);
return SUCCESS_EXIT_CODE;
}