update LwFTP print received data
This commit is contained in:
parent
396912b4c8
commit
531862a0f9
|
|
@ -116,7 +116,8 @@ err_t lwftp_list(lwftp_session_t *s) {
|
|||
|
||||
void onDataReceived(void *data, size_t size) {
|
||||
osDelay(1000);
|
||||
printf("%s\r\n", (char*) data);
|
||||
// printf("%s\r\n", (char*) data);
|
||||
printf("Received data (%zu bytes): %.*s\n", size, (int)size, (char*)data);
|
||||
}
|
||||
|
||||
//void lwftp_data_thread(void *arg) {
|
||||
|
|
@ -143,7 +144,9 @@ void onDataReceived(void *data, size_t size) {
|
|||
|
||||
void lwftp_data_thread(void *arg) {
|
||||
lwftp_session_t *s = (lwftp_session_t*) arg;
|
||||
static struct netbuf *d_buf;
|
||||
static struct netbuf *d_buf;
|
||||
static char *aggregated_data = NULL;
|
||||
static size_t total_len = 0;
|
||||
|
||||
while (1) {
|
||||
if (s->data_conn != NULL && s->data_state == LWFTP_CONNECTED) {
|
||||
|
|
@ -153,9 +156,33 @@ void lwftp_data_thread(void *arg) {
|
|||
u16_t len;
|
||||
do {
|
||||
netbuf_data(d_buf, &data, &len);
|
||||
onDataReceived(data, len);
|
||||
if (aggregated_data == NULL) {
|
||||
aggregated_data = (char*) malloc(len);
|
||||
if (!aggregated_data) {
|
||||
break;
|
||||
}
|
||||
memcpy(aggregated_data, data, len);
|
||||
total_len = len;
|
||||
} else {
|
||||
char *new_data = (char*) realloc(aggregated_data, total_len + len);
|
||||
if (!new_data) {
|
||||
free(aggregated_data);
|
||||
aggregated_data = NULL;
|
||||
break;
|
||||
}
|
||||
aggregated_data = new_data;
|
||||
memcpy(aggregated_data + total_len, data, len);
|
||||
total_len += len;
|
||||
}
|
||||
} while (netbuf_next(d_buf) >= 0);
|
||||
netbuf_delete(d_buf);
|
||||
|
||||
if (aggregated_data != NULL) {
|
||||
// onDataReceived(aggregated_data, total_len);
|
||||
free(aggregated_data);
|
||||
aggregated_data = NULL;
|
||||
total_len = 0;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ void lwftp_ctrl_thread(void *arg);
|
|||
|
||||
/** for callback*/
|
||||
typedef void (*lwftp_transfer_callback)(err_t result, void *context);
|
||||
void onDataReceived(void* data, size_t size);
|
||||
void onDataReceived(void *data, size_t size);
|
||||
err_t lwftp_store(lwftp_session_t *s, const char *filename, const char *data);
|
||||
err_t lwftp_retrieve(lwftp_session_t *s, const char *filename);
|
||||
err_t lwftp_list(lwftp_session_t *s);
|
||||
|
|
|
|||
Loading…
Reference in New Issue