Browse Source

* f2b_cmsg_extract_args() now returns argc

master
Alex 'AdUser' Z 8 years ago
parent
commit
90d9b9fa6d
  1. 8
      src/cmsg.c
  2. 2
      src/cmsg.h

8
src/cmsg.c

@ -11,7 +11,7 @@ f2b_cmsg_convert_args(f2b_cmsg_t *msg) {
} }
} }
void int
f2b_cmsg_extract_args(const f2b_cmsg_t *msg, const char **argv) { f2b_cmsg_extract_args(const f2b_cmsg_t *msg, const char **argv) {
char prev = '\0'; char prev = '\0';
size_t argc = 0; size_t argc = 0;
@ -22,8 +22,12 @@ f2b_cmsg_extract_args(const f2b_cmsg_t *msg, const char **argv) {
for (size_t i = 0; i < msg->size; i++) { for (size_t i = 0; i < msg->size; i++) {
if (prev == '\0' && msg->data[i] != '\0') if (prev == '\0' && msg->data[i] != '\0')
argv[argc] = &msg->data[i], argc++; argv[argc] = &msg->data[i], argc++;
if (argc >= DATA_ARGS_MAX) if (argc >= DATA_ARGS_MAX) {
argc = -1;
break; break;
}
prev = msg->data[i]; prev = msg->data[i];
} }
return argc;
} }

2
src/cmsg.h

@ -50,6 +50,6 @@ typedef struct f2b_cmsg_t {
} f2b_cmsg_t; } f2b_cmsg_t;
void f2b_cmsg_convert_args(f2b_cmsg_t *msg); void f2b_cmsg_convert_args(f2b_cmsg_t *msg);
void f2b_cmsg_extract_args(const f2b_cmsg_t *msg, const char **argv); int f2b_cmsg_extract_args(const f2b_cmsg_t *msg, const char **argv);
#endif /* F2B_CMSG_H_ */ #endif /* F2B_CMSG_H_ */

Loading…
Cancel
Save