libcoap  4.1.2
str.c
Go to the documentation of this file.
1 /* str.c -- strings to be used in the CoAP library
2  *
3  * Copyright (C) 2010,2011 Olaf Bergmann <bergmann@tzi.org>
4  *
5  * This file is part of the CoAP library libcoap. Please see
6  * README for terms of use.
7  */
8 
9 #include "coap_config.h"
10 
11 #include <stdio.h>
12 
13 #include "debug.h"
14 #include "mem.h"
15 #include "str.h"
16 
17 str *coap_new_string(size_t size) {
18  str *s = coap_malloc(sizeof(str) + size + 1);
19  if ( !s ) {
20 #ifndef NDEBUG
21  coap_log(LOG_CRIT, "coap_new_string: malloc\n");
22 #endif
23  return NULL;
24  }
25 
26  memset(s, 0, sizeof(str));
27  s->s = ((unsigned char *)s) + sizeof(str);
28  return s;
29 }
30 
32  coap_free(s);
33 }
34 
str * coap_new_string(size_t size)
Returns a new string object with at least size bytes storage allocated.
Definition: str.c:17
static void * coap_malloc(size_t size)
Wrapper function to coap_malloc_type() for backwards compatibility.
Definition: mem.h:70
Definition: debug.h:29
Definition: str.h:15
static void coap_free(void *object)
Wrapper function to coap_free_type() for backwards compatibility.
Definition: mem.h:77
void coap_delete_string(str *s)
Deletes the given string and releases any memory allocated.
Definition: str.c:31
#define coap_log(...)
Definition: debug.h:58
unsigned char * s
Definition: str.h:17