libtrbase  1.0.2
Web server and task management solution.
sized_data.h File Reference
#include <sys/types.h>
#include "trbase.h"
+ Include dependency graph for sized_data.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

 TR_CLASS (TR_SizedData)
 
 TR_INSTANCE_INIT (TR_SizedData)
 
 TR_CLASSVARS_DECL (TR_SizedData)
 
void TR_sizedDataSetData (TR_SizedData, const char *, size_t)
 

Detailed Description

Combines a char * with size_t to get a generic data structure.

Author
Georg Hopp

This program 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 3 of the License, or (at your option) any later version.

This program 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 this program. If not, see http://www.gnu.org/licenses/.

Definition in file sized_data.h.

Function Documentation

TR_CLASS ( TR_SizedData  )

Definition at line 31 of file sized_data.h.

References memSegment::size.

31  {
32  char * data;
33  size_t size;
34 };
size_t size
Definition: memory.h:34
TR_CLASSVARS_DECL ( TR_SizedData  )

Definition at line 36 of file sized_data.h.

36 {};
TR_INSTANCE_INIT ( TR_SizedData  )
void TR_sizedDataSetData ( TR_SizedData  ,
const char *  ,
size_t   
)

Definition at line 31 of file sized_data_set_data.c.

References memSegment::size, TR_getSize(), TR_malloc(), and TR_MEM_FREE.

32 {
33  if (this->data && TR_getSize(this->data) < size) {
34  TR_MEM_FREE(this->data);
35  }
36 
37  if (! this->data) {
38  this->data = TR_malloc(size);
39  }
40 
41  this->size = size;
42  memcpy(this->data, data, size);
43 }
void * TR_malloc(size_t)
Definition: memory.c:178
#define TR_MEM_FREE(seg)
Definition: memory.h:26
size_t TR_getSize(void *mem)
Definition: memory.h:95
size_t size
Definition: memory.h:34

+ Here is the call graph for this function: