Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetInterface mbed-rtos mbed NTPClient
Functions/Split.c@0:66d8bd1f9d4c, 2014-09-04 (annotated)
- Committer:
- rebonatto
- Date:
- Thu Sep 04 19:40:18 2014 +0000
- Revision:
- 0:66d8bd1f9d4c
Vers?o do protegemed com limpeza da memoria. Est? com mailbox de 10 posi??es e telnet funcinando.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| rebonatto | 0:66d8bd1f9d4c | 1 | /* |
| rebonatto | 0:66d8bd1f9d4c | 2 | * Split.c |
| rebonatto | 0:66d8bd1f9d4c | 3 | * |
| rebonatto | 0:66d8bd1f9d4c | 4 | * Created on: 12/04/2012 |
| rebonatto | 0:66d8bd1f9d4c | 5 | * Author: francisco |
| rebonatto | 0:66d8bd1f9d4c | 6 | */ |
| rebonatto | 0:66d8bd1f9d4c | 7 | |
| rebonatto | 0:66d8bd1f9d4c | 8 | #include "Split.h" |
| rebonatto | 0:66d8bd1f9d4c | 9 | |
| rebonatto | 0:66d8bd1f9d4c | 10 | int split(char* str,char* delim,char*** ret ) |
| rebonatto | 0:66d8bd1f9d4c | 11 | { |
| rebonatto | 0:66d8bd1f9d4c | 12 | char *p = NULL; |
| rebonatto | 0:66d8bd1f9d4c | 13 | char *e = NULL; |
| rebonatto | 0:66d8bd1f9d4c | 14 | char **array = NULL; |
| rebonatto | 0:66d8bd1f9d4c | 15 | int qty = 0; |
| rebonatto | 0:66d8bd1f9d4c | 16 | int len = strlen(str); |
| rebonatto | 0:66d8bd1f9d4c | 17 | |
| rebonatto | 0:66d8bd1f9d4c | 18 | p = str; |
| rebonatto | 0:66d8bd1f9d4c | 19 | |
| rebonatto | 0:66d8bd1f9d4c | 20 | e = strstr(p,delim); |
| rebonatto | 0:66d8bd1f9d4c | 21 | |
| rebonatto | 0:66d8bd1f9d4c | 22 | while( e != NULL) |
| rebonatto | 0:66d8bd1f9d4c | 23 | { |
| rebonatto | 0:66d8bd1f9d4c | 24 | qty++; |
| rebonatto | 0:66d8bd1f9d4c | 25 | if(qty==1) |
| rebonatto | 0:66d8bd1f9d4c | 26 | array = (char**)malloc(sizeof(char*)*qty); |
| rebonatto | 0:66d8bd1f9d4c | 27 | else |
| rebonatto | 0:66d8bd1f9d4c | 28 | array = (char**)realloc(array,sizeof(char*)*qty); |
| rebonatto | 0:66d8bd1f9d4c | 29 | |
| rebonatto | 0:66d8bd1f9d4c | 30 | array[qty-1] = p; |
| rebonatto | 0:66d8bd1f9d4c | 31 | *e = '\0'; |
| rebonatto | 0:66d8bd1f9d4c | 32 | p = e + strlen(delim); |
| rebonatto | 0:66d8bd1f9d4c | 33 | e = strstr(p,delim); |
| rebonatto | 0:66d8bd1f9d4c | 34 | } |
| rebonatto | 0:66d8bd1f9d4c | 35 | if(p-str < len) |
| rebonatto | 0:66d8bd1f9d4c | 36 | { |
| rebonatto | 0:66d8bd1f9d4c | 37 | qty++; |
| rebonatto | 0:66d8bd1f9d4c | 38 | if(qty==1) |
| rebonatto | 0:66d8bd1f9d4c | 39 | array = (char**)malloc(sizeof(char*)*qty); |
| rebonatto | 0:66d8bd1f9d4c | 40 | else |
| rebonatto | 0:66d8bd1f9d4c | 41 | array = (char**)realloc(array,sizeof(char*)*qty); |
| rebonatto | 0:66d8bd1f9d4c | 42 | array[qty-1] = p; |
| rebonatto | 0:66d8bd1f9d4c | 43 | } |
| rebonatto | 0:66d8bd1f9d4c | 44 | |
| rebonatto | 0:66d8bd1f9d4c | 45 | *ret = array; |
| rebonatto | 0:66d8bd1f9d4c | 46 | return qty; |
| rebonatto | 0:66d8bd1f9d4c | 47 | } |
