diff options
author | Magnus Ahltorp <map@kth.se> | 2016-02-18 14:49:44 +0100 |
---|---|---|
committer | Linus Nordberg <linus@nordu.net> | 2016-04-25 13:14:12 +0200 |
commit | 2c309788000ee8693a9396538df2592470881ee2 (patch) | |
tree | 928f4557f13a874129836ab5315bca20641854bf /c_src/pstring.h | |
parent | d610249c7b962a47cad102090ffb5f28a697751f (diff) |
Remove Heimdal hash implementation
Add missing files from previous commits
Diffstat (limited to 'c_src/pstring.h')
-rw-r--r-- | c_src/pstring.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/c_src/pstring.h b/c_src/pstring.h new file mode 100644 index 0000000..3a8b602 --- /dev/null +++ b/c_src/pstring.h @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2015, NORDUnet A/S. + * See LICENSE for licensing information. + */ + +#ifndef PSTRING_H +#define PSTRING_H + +typedef struct ps_string { + unsigned char length; + char value[255]; +} ps_string; + +#define PS_STRING(s) (&(ps_string){strlen(s), s}) +#define PS_PRINTF(s) s->length, s->value + +static inline ps_string * +ps_strdup(const ps_string *s) +{ + size_t size = s->length + 1; + ps_string *copy = malloc(size); + memcpy(copy, s, size); + return copy; +} + +static inline ps_string * +ps_resize(const ps_string *s, size_t length) +{ + assert(length <= s->length); + size_t newsize = length + 1; + ps_string *copy = malloc(newsize); + memcpy(copy->value, s->value, length); + copy->length = length; + return copy; +} + +#endif |