Skip to content

Commit

Permalink
sys: Rename Link Format to clif
Browse files Browse the repository at this point in the history
  • Loading branch information
leandrolanzieri committed Mar 28, 2019
1 parent 7ec6868 commit cba6bef
Show file tree
Hide file tree
Showing 10 changed files with 159 additions and 162 deletions.
4 changes: 2 additions & 2 deletions sys/Makefile.include
Expand Up @@ -100,6 +100,6 @@ ifneq (native,$(BOARD))
INCLUDES += -I$(RIOTBASE)/sys/libc/include
endif

ifneq (,$(filter link_format, $(USEMODULE)))
INCLUDES += -I$(RIOTBASE)/sys/link_format/include
ifneq (,$(filter clif, $(USEMODULE)))
INCLUDES += -I$(RIOTBASE)/sys/clif/include
endif
2 changes: 1 addition & 1 deletion sys/link_format/Makefile → sys/clif/Makefile
@@ -1,3 +1,3 @@
MODULE = link_format
MODULE = clif

include $(RIOTBASE)/Makefile.base
81 changes: 39 additions & 42 deletions sys/link_format/link_format.c → sys/clif/clif.c
Expand Up @@ -7,11 +7,11 @@
*/

/**
* @ingroup sys_link_format
* @ingroup sys_clif
* @{
*
* @file
* @brief Link format encoding and decoding library implementation
* @brief CoRE Link format encoding and decoding library implementation
*
* @author Leandro Lanzieri <leandro.lanzieri@haw-hamburg.de>
* @}
Expand All @@ -21,8 +21,8 @@
#include <string.h>
#include <stdio.h>

#include "link_format.h"
#include "link_format_internal.h"
#include "clif.h"
#include "clif_internal.h"

#define ENABLE_DEBUG (0)
#include "debug.h"
Expand All @@ -44,9 +44,9 @@ static const unsigned _param_to_size[] = {
/* do not count extension param type */
#define PARAMS_NUMOF (sizeof(_param_to_str) / sizeof(_param_to_str[0]) - 1)

unsigned link_format_decode_links(link_format_t *links, unsigned links_len,
link_format_param_t *params,
unsigned params_len, char *buf, size_t maxlen)
unsigned clif_decode_links(clif_t *links, unsigned links_len,
clif_param_t *params, unsigned params_len,
char *buf, size_t maxlen)
{
assert(buf);
char *pos = buf;
Expand All @@ -61,22 +61,21 @@ unsigned link_format_decode_links(link_format_t *links, unsigned links_len,
links[links_numof].params_len = 0;

/* first determine where the next link is and how long it is */
ssize_t size = link_format_get_link(pos, end - pos, &link);
ssize_t size = clif_get_link(pos, end - pos, &link);
if (size < 0) {
goto out;
}
pos = link + size;

/* now get the target and params of the link */
size = link_format_get_target(link, size, &links[links_numof].target);
size = clif_get_target(link, size, &links[links_numof].target);
if (size < 0) {
return LINK_FORMAT_NOT_FOUND;
return CLIF_NOT_FOUND;
}
char *pos_in_link = links[links_numof].target + size;
while (params_numof < params_len) {
ssize_t param_size = link_format_get_param(pos_in_link,
pos - pos_in_link,
&params[params_numof]);
ssize_t param_size = clif_get_param(pos_in_link, pos - pos_in_link,
&params[params_numof]);
if (param_size < 0) {
break;
}
Expand All @@ -92,21 +91,21 @@ unsigned link_format_decode_links(link_format_t *links, unsigned links_len,
return links_numof;
}

ssize_t link_format_encode_link(link_format_t *link, char *buf, size_t maxlen)
ssize_t clif_encode_link(clif_t *link, char *buf, size_t maxlen)
{
assert(link);
size_t pos = 0;
ssize_t res = 0;

res = link_format_add_target(link->target, buf, maxlen);
res = clif_add_target(link->target, buf, maxlen);
if (res <= 0) {
return res;
}
pos += res;

for (unsigned i = 0; i < link->params_len; i++) {
res = link_format_add_param(&link->params[i], buf ? &buf[pos] : NULL,
maxlen - pos);
res = clif_add_param(&link->params[i], buf ? &buf[pos] : NULL,
maxlen - pos);
if (res <= 0) {
return res;
}
Expand All @@ -115,7 +114,7 @@ ssize_t link_format_encode_link(link_format_t *link, char *buf, size_t maxlen)
return pos;
}

ssize_t link_format_add_target(const char *target, char *buf, size_t maxlen)
ssize_t clif_add_target(const char *target, char *buf, size_t maxlen)
{
assert(target);

Expand All @@ -127,7 +126,7 @@ ssize_t link_format_add_target(const char *target, char *buf, size_t maxlen)
}

if ((target_len + 2) > maxlen) {
return LINK_FORMAT_NO_SPACE;
return CLIF_NO_SPACE;
}

buf[pos++] = LF_PATH_BEGIN_C;
Expand All @@ -140,31 +139,31 @@ ssize_t link_format_add_target(const char *target, char *buf, size_t maxlen)
return pos;
}

ssize_t link_format_add_link_separator(char *buf, size_t maxlen)
ssize_t clif_add_link_separator(char *buf, size_t maxlen)
{
if (!buf) {
return 1;
}

if (maxlen < 1) {
return LINK_FORMAT_NO_SPACE;
return CLIF_NO_SPACE;
}

*buf = LF_LINK_SEPARATOR_C;
return 1;
}

ssize_t link_format_add_param(link_format_param_t *param, char *buf,
ssize_t clif_add_param(clif_param_t *param, char *buf,
size_t maxlen)
{
assert(param);
/* if it is an extension the 'ext' field should be provided */
assert(!(param->type == LINK_FORMAT_PARAM_EXT && !param->ext));
assert(!(param->type == CLIF_PARAM_EXT && !param->ext));

/* count param name size and separator ';' */
size_t req_space = _param_to_size[param->type] + 1;
size_t pos = 0;
int quoted = (param->type == LINK_FORMAT_PARAM_SZ) ? 0 : 1;
int quoted = (param->type == CLIF_PARAM_SZ) ? 0 : 1;

if (param->value) {
if (!param->value_len) {
Expand All @@ -174,7 +173,7 @@ ssize_t link_format_add_param(link_format_param_t *param, char *buf,
req_space += param->value_len + 1;
}

if (param->type == LINK_FORMAT_PARAM_EXT && !param->ext_len) {
if (param->type == CLIF_PARAM_EXT && !param->ext_len) {
param->ext_len = strlen(param->ext);
req_space += param->ext_len;
}
Expand All @@ -188,14 +187,14 @@ ssize_t link_format_add_param(link_format_param_t *param, char *buf,
}

if (req_space > maxlen) {
return LINK_FORMAT_NO_SPACE;
return CLIF_NO_SPACE;
}

/* add parameter separator ';' */
buf[pos++] = LF_PARAM_SEPARATOR_C;

/* add parameter name */
if (param->type == LINK_FORMAT_PARAM_EXT) {
if (param->type == CLIF_PARAM_EXT) {
memcpy(&buf[pos], param->ext, param->ext_len);
pos += param->ext_len;
}
Expand Down Expand Up @@ -223,15 +222,15 @@ ssize_t link_format_add_param(link_format_param_t *param, char *buf,
return pos;
}

ssize_t link_format_get_link(const char *input, size_t input_len, char **output)
ssize_t clif_get_link(const char *input, size_t input_len, char **output)
{
assert(input);
char *link_end;

ssize_t path_size = link_format_get_target(input, input_len, output);
ssize_t path_size = clif_get_target(input, input_len, output);
if (path_size < 0) {
DEBUG("Path not found\n");
return LINK_FORMAT_NOT_FOUND;
return CLIF_NOT_FOUND;
}

(*output)--;
Expand All @@ -248,30 +247,28 @@ ssize_t link_format_get_link(const char *input, size_t input_len, char **output)
}
}

ssize_t link_format_get_target(const char *input, size_t input_len,
char **output)
ssize_t clif_get_target(const char *input, size_t input_len, char **output)
{
assert(input);
char *target_end;

*output = memchr(input, LF_PATH_BEGIN_C, input_len);
if (!*output) {
DEBUG("Path start not found\n");
return LINK_FORMAT_NOT_FOUND;
return CLIF_NOT_FOUND;
}
*output += 1;

target_end = memchr(*output, LF_PATH_END_C, (input + input_len) - *output);
if (!target_end) {
DEBUG("Path end not found\n");
return LINK_FORMAT_NOT_FOUND;
return CLIF_NOT_FOUND;
}
ssize_t res = target_end - *output;
return res;
}

ssize_t link_format_get_param(char *input, size_t input_len,
link_format_param_t *param)
ssize_t clif_get_param(char *input, size_t input_len, clif_param_t *param)
{
assert(input && param);
char *param_start;
Expand All @@ -286,7 +283,7 @@ ssize_t link_format_get_param(char *input, size_t input_len,
param_start = memchr(input, LF_PARAM_SEPARATOR_C, input_len);
if (!param_start) {
DEBUG("Attribute separator not found\n");
return LINK_FORMAT_NOT_FOUND;
return CLIF_NOT_FOUND;
}
param_start++;

Expand All @@ -303,7 +300,7 @@ ssize_t link_format_get_param(char *input, size_t input_len,
if (!param->value) {
DEBUG("Attribute name / value separator not found: assuming extension\n");
/* if there is no name / value separator it is considered an extension */
param->type = LINK_FORMAT_PARAM_EXT;
param->type = CLIF_PARAM_EXT;
param->ext = param_start;
param->ext_len = input_end - param->ext;
param->value_len = 0;
Expand All @@ -323,7 +320,7 @@ ssize_t link_format_get_param(char *input, size_t input_len,
end = memchr(param->value, '"', input_end - param->value + 1);
if (!end) {
DEBUG("Closing quotes not found\n");
return LINK_FORMAT_NOT_FOUND;
return CLIF_NOT_FOUND;
}
else {
param->value_len = end - param->value;
Expand All @@ -346,7 +343,7 @@ ssize_t link_format_get_param(char *input, size_t input_len,
}

/* try to determine the parameter type */
param->type = LINK_FORMAT_PARAM_EXT;
param->type = CLIF_PARAM_EXT;
for (unsigned i = 0; i < PARAMS_NUMOF; i++) {
if (!strncmp(param_start, _param_to_str[i], param_length)) {
param->type = i;
Expand All @@ -355,14 +352,14 @@ ssize_t link_format_get_param(char *input, size_t input_len,
}

/* if it is an extension add the extra information */
if (param->type == LINK_FORMAT_PARAM_EXT) {
if (param->type == CLIF_PARAM_EXT) {
param->ext = param_start;
param->ext_len = param_length;
}

return input_end - input;
}

const char *link_format_param_type_to_str(link_format_param_type_t type) {
const char *clif_param_type_to_str(clif_param_type_t type) {
return _param_to_str[type];
}
Expand Up @@ -7,17 +7,17 @@
*/

/**
* @ingroup sys_link_format
* @ingroup sys_clif
*
* @{
*
* @file
* @brief Internal definitions for Link format module
* @brief Internal definitions for CoRE Link format module
*
* @author Leandro Lanzieri <leandro.lanzieri@haw-hamburg.de>
*/
#ifndef LINK_FORMAT_INTERNAL_H
#define LINK_FORMAT_INTERNAL_H
#ifndef CLIF_INTERNAL_H
#define CLIF_INTERNAL_H

#ifdef __cplusplus
extern "C" {
Expand Down Expand Up @@ -141,5 +141,5 @@ extern "C" {
}
#endif

#endif /* LINK_FORMAT_INTERNAL_H */
#endif /* CLIF_INTERNAL_H */
/** @} */

0 comments on commit cba6bef

Please sign in to comment.