added consuming string conversion functions, addded pkg-config and install rules to meson

AuthorKonata <konata@posteo.jp>
Date
Commite24ed582a625cf1d632d7ce56129c520535edf49
Parente273cb9
5 files changed, 28 insertions(+), 3 deletions(-)
▾Minclude/cutils/dyn_string.h
@@ -32,7 +32,9 @@ size_t* string_find_char(const String* haystack, const char needle);
bool string_concat(String* string, const String* other);
String* from_cstring(const char* cstring);
String* from_cstring_del(char* cstring);
char* to_cstring(const String* string);
char* to_cstring_del(String* string);
#endif /* DYN_STRING_H */
▾Minclude/meson.build
@@ -1 +1,2 @@
inc = include_directories('.')
install_headers('cutils/cutils.h', 'cutils/dyn_string.h', 'cutils/vector.h', 'cutils/misc.h', subdir: 'cutils')
▾Mmeson.build
@@ -5,3 +5,10 @@ CFLAGS = ['-std=c89', '-fstrict-aliasing', '-fPIC'] + WARNINGS
subdir('include')
subdir('src')
pkg = import('pkgconfig')
libs = 'cutils'
headers = 'include'
pkg.generate(libraries : cutils_lib, subdirs : headers, version : '1.0', name : 'libcutils', filebase : 'cutils', description : 'Collection of some portable helper function and data structures in C89.')
▾Msrc/dyn_string.c
@@ -119,6 +119,13 @@ String* from_cstring(const char* cstring)
}
String* from_cstring_del(char* cstring)
{
String* ret = from_cstring(cstring);
free(cstring);
return ret;
}
char* to_cstring(const String* string)
{
char* cstring = malloc(string->length+1);
@@ -127,3 +134,10 @@ char* to_cstring(const String* string)
return cstring;
}
char* to_cstring_del(String* string)
{
char* ret = to_cstring(string);
delete_string(string);
return ret;
}
▾Msrc/meson.build
@@ -1,7 +1,8 @@
src = ['vector.c', 'dyn_string.c', 'misc.c']
srctest = src + ['test.c']
lib = shared_library('cutils', src, include_directories : inc)
cutils_dep = declare_dependency(link_with : lib, include_directories : inc)
cutils_lib = library('cutils', src, include_directories : inc, install: true)
executable('test_cutils', srctest, include_directories : inc, c_args: CFLAGS )
cutils_dep = declare_dependency(link_with : cutils_lib, include_directories : inc)
executable('test_cutils', srctest, include_directories : inc, c_args: CFLAGS )