Add MLIB and MLIB wrapper library
This commit is contained in:
parent
e867ede2e5
commit
53b67ff02c
|
@ -1,3 +1,6 @@
|
|||
[submodule "components/blackmagic/blackmagic-fw"]
|
||||
path = components/blackmagic/blackmagic-fw
|
||||
url = https://github.com/flipperdevices/blackmagic.git
|
||||
[submodule "components/mlib/mlib"]
|
||||
path = components/mlib/mlib
|
||||
url = https://github.com/P-p-H-d/mlib.git
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
idf_component_register(SRCS "m_string.c"
|
||||
PRIV_INCLUDE_DIRS "mlib"
|
||||
INCLUDE_DIRS ".")
|
|
@ -0,0 +1,44 @@
|
|||
#include "mlib\m-string.h"
|
||||
#include "m_string.h"
|
||||
|
||||
struct mstring_t {
|
||||
string_t str;
|
||||
};
|
||||
|
||||
mstring_t* mstring_alloc() {
|
||||
mstring_t* mstr = malloc(sizeof(mstring_t));
|
||||
string_init(mstr->str);
|
||||
return mstr;
|
||||
}
|
||||
|
||||
mstring_t* mstring_alloc_set(const char* text) {
|
||||
mstring_t* mstr = malloc(sizeof(mstring_t));
|
||||
string_init(mstr->str);
|
||||
string_set_str(mstr->str, text);
|
||||
return mstr;
|
||||
}
|
||||
|
||||
void mstring_free(mstring_t* mstr) {
|
||||
string_clear(mstr->str);
|
||||
free(mstr);
|
||||
}
|
||||
|
||||
void mstring_set(mstring_t* mstr, const char* text) {
|
||||
string_set_str(mstr->str, text);
|
||||
}
|
||||
|
||||
int mstring_printf(mstring_t* mstr, const char format[], ...) {
|
||||
va_list args;
|
||||
va_start(args, format);
|
||||
int ret = string_vprintf(mstr->str, format, args);
|
||||
va_end(args);
|
||||
return ret;
|
||||
}
|
||||
|
||||
const char* mstring_get_cstr(const mstring_t* mstr) {
|
||||
return string_get_cstr(mstr->str);
|
||||
}
|
||||
|
||||
char mstring_get_char(const mstring_t* mstr, size_t index) {
|
||||
return string_get_char(mstr->str, index);
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
/**
|
||||
* @file m_string.h
|
||||
*
|
||||
* M*Lib string wrapper, to prevent inline code pollution
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
typedef struct mstring_t mstring_t;
|
||||
|
||||
/**
|
||||
* Allocate string
|
||||
* @return mstring_t*
|
||||
*/
|
||||
mstring_t* mstring_alloc();
|
||||
|
||||
/**
|
||||
* Allocate string and set value
|
||||
* @param text
|
||||
* @return mstring_t*
|
||||
*/
|
||||
mstring_t* mstring_alloc_set(const char* text);
|
||||
|
||||
/**
|
||||
* Free string
|
||||
* @param mstr
|
||||
*/
|
||||
void mstring_free(mstring_t* mstr);
|
||||
|
||||
/**
|
||||
* Set string value
|
||||
* @param mstr
|
||||
* @param text
|
||||
*/
|
||||
void mstring_set(mstring_t* mstr, const char* text);
|
||||
|
||||
/**
|
||||
* Printf string value
|
||||
* @param mstr
|
||||
* @param format
|
||||
* @param ...
|
||||
* @return int
|
||||
*/
|
||||
int mstring_printf(mstring_t* mstr, const char format[], ...);
|
||||
|
||||
/**
|
||||
* Get constant pointer to string value
|
||||
* @param mstr
|
||||
* @return const char*
|
||||
*/
|
||||
const char* mstring_get_cstr(const mstring_t* mstr);
|
||||
|
||||
/**
|
||||
* Get char at index
|
||||
* @param mstr
|
||||
* @param index
|
||||
* @return char
|
||||
*/
|
||||
char mstring_get_char(const mstring_t* mstr, size_t index);
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 9549e82b048e93167529319ca1d169f3db1d2572
|
Loading…
Reference in New Issue