ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/memory.c
(Generate patch)

Comparing:
ircd-hybrid/src/memory.c (file contents), Revision 33 by knight, Sun Oct 2 20:50:00 2005 UTC vs.
ircd-hybrid/trunk/src/memory.c (file contents), Revision 9101 by michael, Wed Jan 1 09:58:45 2020 UTC

# Line 1 | Line 1
1   /*
2 < *  ircd-hybrid: an advanced Internet Relay Chat Daemon(ircd).
3 < *  memory.c: Memory utilities.
2 > *  ircd-hybrid: an advanced, lightweight Internet Relay Chat Daemon (ircd)
3   *
4 < *  Copyright (C) 2002 by the past and present ircd coders, and others.
4 > *  Copyright (c) 1997-2020 ircd-hybrid development team
5   *
6   *  This program is free software; you can redistribute it and/or modify
7   *  it under the terms of the GNU General Public License as published by
# Line 16 | Line 15
15   *
16   *  You should have received a copy of the GNU General Public License
17   *  along with this program; if not, write to the Free Software
18 < *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
18 > *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
19   *  USA
21 *
22 *  $Id$
20   */
21  
22 + /*! \file memory.c
23 + * \brief Memory utilities.
24 + * \version $Id$
25 + */
26  
27   #include "stdinc.h"
27 #include "ircd_defs.h"
28 #include "ircd.h"
28   #include "irc_string.h"
29   #include "memory.h"
31 #include "list.h"
32 #include "client.h"
33 #include "send.h"
34 #include "tools.h"
35 #include "s_log.h"
30   #include "restart.h"
31  
32  
33   /*
34 < * MyMalloc - allocate memory, call outofmemory on failure
34 > * xcalloc - allocate memory, call outofmemory on failure
35   */
36   void *
37 < MyMalloc(size_t size)
37 > xcalloc(size_t size)
38   {
39    void *ret = calloc(1, size);
40  
41    if (ret == NULL)
42      outofmemory();
43 <  return(ret);
43 >
44 >  return ret;
45   }
46  
47   /*
48 < * MyRealloc - reallocate memory, call outofmemory on failure
48 > * xrealloc - reallocate memory, call outofmemory on failure
49   */
50   void *
51 < MyRealloc(void *x, size_t y)
51 > xrealloc(void *x, size_t y)
52   {
53    void *ret = realloc(x, y);
54  
55 <  if (ret == NULL)
55 >  if (y && ret == NULL)
56      outofmemory();
57 <  return(ret);
57 >
58 >  return ret;
59   }
60  
61   void
62 < MyFree(void *x)
62 > xfree(void *x)
63   {
64 <  if (x)
69 <    free(x);
64 >  free(x);
65   }
66  
67 < void
68 < _DupString(char **x, const char *y)
67 > void *
68 > xstrdup(const char *s)
69 > {
70 >  void *ret = malloc(strlen(s) + 1);
71 >
72 >  if (ret == NULL)
73 >    outofmemory();
74 >
75 >  strcpy(ret, s);
76 >
77 >  return ret;
78 > }
79 >
80 > void *
81 > xstrndup(const char *s, size_t len)
82   {
83 <  (*x) = malloc(strlen(y) + 1);
84 <  strcpy((*x), y);
83 >  void *ret = malloc(len + 1);
84 >
85 >  if (ret == NULL)
86 >    outofmemory();
87 >
88 >  strlcpy(ret, s, len + 1);
89 >
90 >  return ret;
91   }
92  
93   /* outofmemory()
# Line 86 | Line 100 | _DupString(char **x, const char *y)
100   void
101   outofmemory(void)
102   {
103 <  static int was_here = 0;
103 >  static bool was_here = false;
104  
105 <  if (was_here)
105 >  if (was_here == false)
106 >    was_here = true;
107 >  else
108      abort();
109  
110 <  was_here = 1;
95 <
96 <  ilog(L_CRIT, "Out of memory: restarting server...");
97 <  restart("Out of Memory");
110 >  server_die("out of memory", true);
111   }

Comparing:
ircd-hybrid/src/memory.c (property svn:keywords), Revision 33 by knight, Sun Oct 2 20:50:00 2005 UTC vs.
ircd-hybrid/trunk/src/memory.c (property svn:keywords), Revision 9101 by michael, Wed Jan 1 09:58:45 2020 UTC

# Line 1 | Line 1
1 < Id Revision
1 > Id

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)