diff options
Diffstat (limited to 'contrib/groff/libgroff/new.cc')
-rw-r--r-- | contrib/groff/libgroff/new.cc | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/contrib/groff/libgroff/new.cc b/contrib/groff/libgroff/new.cc deleted file mode 100644 index d26db2f5a38b3..0000000000000 --- a/contrib/groff/libgroff/new.cc +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. - Written by James Clark (jjc@jclark.com) - -This file is part of groff. - -groff is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. - -groff is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License along -with groff; see the file COPYING. If not, write to the Free Software -Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#include <stddef.h> -#include <stdlib.h> -#include <string.h> - -#include "posix.h" - -extern const char *program_name; - -static void ewrite(const char *s) -{ - write(2, s, strlen(s)); -} - -void *operator new(size_t size) -{ - // Avoid relying on the behaviour of malloc(0). - if (size == 0) - size++; -#ifdef COOKIE_BUG - char *p = (char *)malloc(unsigned(size + 8)); -#else /* not COOKIE_BUG */ - char *p = (char *)malloc(unsigned(size)); -#endif /* not COOKIE_BUG */ - if (p == 0) { - if (program_name) { - ewrite(program_name); - ewrite(": "); - } - ewrite("out of memory\n"); - _exit(-1); - } -#ifdef COOKIE_BUG - ((unsigned *)p)[1] = 0; - return p + 8; -#else /* not COOKIE_BUG */ - return p; -#endif /* not COOKIE_BUG */ -} - -#ifdef COOKIE_BUG - -void operator delete(void *p) -{ - if (p) - free((void *)((char *)p - 8)); -} - -#endif /* COOKIE_BUG */ |