~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to tests/enet/callbacks.c

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-02 13:11:51 UTC
  • Revision ID: package-import@ubuntu.com-20130502131151-q8dvteqr1ef2x7xz
Tags: upstream-1.4.1~20130504~adb56cb
ImportĀ upstreamĀ versionĀ 1.4.1~20130504~adb56cb

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/** 
 
2
 @file callbacks.c
 
3
 @brief ENet callback functions
 
4
*/
 
5
#define ENET_BUILDING_LIB 1
 
6
#include "enet/enet.h"
 
7
 
 
8
static ENetCallbacks callbacks = { malloc, free, abort };
 
9
 
 
10
int
 
11
enet_initialize_with_callbacks (ENetVersion version, const ENetCallbacks * inits)
 
12
{
 
13
   if (version < ENET_VERSION_CREATE (1, 3, 0))
 
14
     return -1;
 
15
 
 
16
   if (inits -> malloc != NULL || inits -> free != NULL)
 
17
   {
 
18
      if (inits -> malloc == NULL || inits -> free == NULL)
 
19
        return -1;
 
20
 
 
21
      callbacks.malloc = inits -> malloc;
 
22
      callbacks.free = inits -> free;
 
23
   }
 
24
      
 
25
   if (inits -> no_memory != NULL)
 
26
     callbacks.no_memory = inits -> no_memory;
 
27
 
 
28
   return enet_initialize ();
 
29
}
 
30
           
 
31
void *
 
32
enet_malloc (size_t size)
 
33
{
 
34
   void * memory = callbacks.malloc (size);
 
35
 
 
36
   if (memory == NULL)
 
37
     callbacks.no_memory ();
 
38
 
 
39
   return memory;
 
40
}
 
41
 
 
42
void
 
43
enet_free (void * memory)
 
44
{
 
45
   callbacks.free (memory);
 
46
}
 
47