libtrbase  1.0.2
Web server and task management solution.
sized_data_set_data.c File Reference
#include <string.h>
#include <errno.h>
#include <stdio.h>
#include <unistd.h>
#include "tr/sized_data.h"
+ Include dependency graph for sized_data_set_data.c:

Go to the source code of this file.

Functions

void TR_sizedDataSetData (TR_SizedData this, const char *data, size_t size)
 

Detailed Description

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_set_data.c.

Function Documentation

void TR_sizedDataSetData ( TR_SizedData  this,
const char *  data,
size_t  size 
)

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: