Add string based constructor for Buzzer and an example to initialize it

Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
This commit is contained in:
mihais
2018-03-29 18:03:59 +03:00
committed by Mihai Tudor Panu
parent 58ee51c767
commit 32b73a1d25
6 changed files with 65 additions and 78 deletions

View File

@ -111,38 +111,6 @@ extern "C" {
*/
float buzzer_get_volume(const buzzer_context dev);
char** upm_parse_init_str(const char* str, const char* delims, int *num_tokens)
{
char *saveptr, *tok, *s, *p_str;
char **output = NULL;
size_t output_size = 0;
p_str = strdup(str);
for (s = p_str; ; s = NULL) {
tok = strtok_r(s, delims, &saveptr);
if (tok == NULL)
break;
output = (char**)realloc(output, (++output_size) * sizeof(char*));
output[output_size - 1] = (char*)calloc(strlen(tok) + 1, sizeof(char));
strncpy(output[output_size - 1], tok, strlen(tok));
}
*num_tokens = output_size;
free(p_str);
return output;
}
void upm_delete_parsed_str(char **str, int num_tokens)
{
for (int i = 0; i < num_tokens; ++i) {
free(str[i]);
}
free(str);
}
#ifdef __cplusplus
}
#endif