// PENDING: Straighten this out into configure
+#include <time.h> // all compilers need this
#ifdef __MINGW32__
#include <time.h>
#else
if (macro->type == T_DISABLED)
macro->type = T_MACRO;
if (macro->type != T_MACRO || pbuf->buf != macro->value.defn->expansion)
- free (pbuf->buf);
+ Safe_free (pbuf->buf);
return 0;
}
{
if (pbuf->buf)
{
- free (pbuf->buf);
+ Safe_free (pbuf->buf);
pbuf->buf = 0;
}
return 0;
cpp_buffer *next_buf = CPP_PREV_BUFFER (buf);
(*buf->cleanup) (buf, pfile);
CPP_BUFFER (pfile) = next_buf;
- free (buf);
+ Safe_free (buf);
return next_buf;
#endif
}
{
struct tokenlist_list *next = tail->next;
free_token_list (tail->tokens);
- free (tail);
+ Safe_free (tail);
tail = next;
}
if (hp == *hp->bucket_hdr)
*hp->bucket_hdr = hp->next;
- free (hp);
+ Safe_free (hp);
}
\f
/* Convert a character string literal into a nul-terminated string.
temp = pfile->if_stack;
pfile->if_stack = temp->next;
- free (temp);
+ Safe_free (temp);
break;
default: ;
}
}
}
}
- free (temp);
+ Safe_free (temp);
output_line_command (pfile, 1, same_file);
}
return 0;
strcpy (ptr->map_to, dirname);
ptr->map_to[dirlen] = '/';
strcpy (ptr->map_to + dirlen + 1, to);
- free (to);
+ Safe_free (to);
}
ptr->map_next = map_list_ptr->map_list_map;
indepth--;
input_file_stack_tick++;
- free (fp->buf);
+ Safe_free (fp->buf);
#endif
return 1;
cpp_perror_with_name (pfile, fname);
close (f);
- free (fp->buf);
+ Safe_free (fp->buf);
return 1;
}
for (pend = opts->pending; pend; )
{
struct cpp_pending *next = pend->next;
- free (pend);
+ Safe_free (pend);
pend = next;
}
opts->pending = NULL;
&& (pend->cmd[1] == 'D' || pend->cmd[1] == 'A'))
{
*ptr = pend->next;
- free (pend);
+ Safe_free (pend);
}
else
ptr = &pend->next;
if (pfile->token_buffer)
{
- free (pfile->token_buffer);
+ Safe_free (pfile->token_buffer);
pfile->token_buffer = NULL;
}
if (pfile->deps_buffer)
{
- free (pfile->deps_buffer);
+ Safe_free (pfile->deps_buffer);
pfile->deps_buffer = NULL;
pfile->deps_allocated_size = 0;
}
{
IF_STACK_FRAME *temp = pfile->if_stack;
pfile->if_stack = temp->next;
- free (temp);
+ Safe_free (temp);
}
while (pfile->dont_repeat_files)
{
struct file_name_list *temp = pfile->dont_repeat_files;
pfile->dont_repeat_files = temp->next;
- free (temp->fname);
- free (temp);
+ Safe_free (temp->fname);
+ Safe_free (temp);
}
while (pfile->all_include_files)
{
struct file_name_list *temp = pfile->all_include_files;
pfile->all_include_files = temp->next;
- free (temp->fname);
- free (temp);
+ Safe_free (temp->fname);
+ Safe_free (temp);
}
for (i = IMPORT_HASH_SIZE; --i >= 0; )
while (imp)
{
struct import_file *next = imp->next;
- free (imp->name);
- free (imp);
+ Safe_free (imp->name);
+ Safe_free (imp);
imp = next;
}
pfile->import_hash_table[i] = 0;
else
hp->value = tail->next;
free_token_list (tail->tokens);
- free (tail);
+ Safe_free (tail);
} else {
prev = tail;
}
{
while (tokens) {
struct arglist *next = tokens->next;
- free (tokens->name);
- free (tokens);
+ Safe_free (tokens->name);
+ Safe_free (tokens);
tokens = next;
}
}