change of struct
struct no longer contains allocated arrays problem with the reply string
This commit is contained in:
@@ -13,20 +13,22 @@
|
||||
#include <stdlib.h>
|
||||
#include "lwip/netif.h"
|
||||
#include "lwip.h"
|
||||
#define LOGGER_LEVEL_ALL
|
||||
#include "log.h"
|
||||
typedef struct {
|
||||
char* name;
|
||||
char* surname;
|
||||
char name[20];
|
||||
char surname[20];
|
||||
uint8_t mac_address[6];
|
||||
char* reply;
|
||||
char reply[200];
|
||||
}owner_details_t;
|
||||
|
||||
uint8_t set_owner_details_name(owner_details_t*, char* );
|
||||
uint8_t set_owner_details_sirname(owner_details_t*, char* );
|
||||
uint8_t set_owner_details(owner_details_t*, char* , char*);
|
||||
|
||||
char* get_owner_details_name(owner_details_t);
|
||||
char* get_owner_details_surname(owner_details_t);
|
||||
char* get_owner_details_reply(owner_details_t);
|
||||
char* get_owner_details_name(owner_details_t*);
|
||||
char* get_owner_details_surname(owner_details_t*);
|
||||
char* get_owner_details_reply(owner_details_t*);
|
||||
|
||||
|
||||
#endif /* INC_UDP_BROADCAST_H_ */
|
||||
|
||||
@@ -36,13 +36,8 @@ static void set_owner_details_mac(owner_details_t* owner){
|
||||
|
||||
uint8_t set_owner_details_name(owner_details_t *owner, char *name){
|
||||
if(name != NULL){
|
||||
if(owner->name == NULL){
|
||||
owner->name = (char*)malloc(strlen(name) + 1);
|
||||
}
|
||||
else{
|
||||
owner->name = (char*)realloc(owner->name,strlen(name) + 1);
|
||||
}
|
||||
strncpy(owner->name,name,strlen(owner->name));
|
||||
LOG_DEBUG("set_owner_details_name","set: %s",name);
|
||||
strncpy(owner->name,name,sizeof(owner->name));
|
||||
return 1;
|
||||
}
|
||||
else{
|
||||
@@ -61,13 +56,8 @@ uint8_t set_owner_details_name(owner_details_t *owner, char *name){
|
||||
*/
|
||||
uint8_t set_owner_details_surname(owner_details_t* owner, char* surname){
|
||||
if(surname != NULL){
|
||||
if(owner->surname == NULL){
|
||||
owner->surname = (char*)malloc(strlen(surname) + 1);
|
||||
}
|
||||
else{
|
||||
owner->surname = (char*)realloc(owner->surname,strlen(surname) + 1);
|
||||
}
|
||||
strncpy(owner->surname,surname,strlen(owner->surname));
|
||||
LOG_DEBUG("set_owner_details_surname","set: %s",surname);
|
||||
strncpy(owner->surname,surname,sizeof(owner->surname));
|
||||
return 1;
|
||||
}
|
||||
else{
|
||||
@@ -86,13 +76,8 @@ uint8_t set_owner_details_surname(owner_details_t* owner, char* surname){
|
||||
|
||||
static uint8_t set_owner_details_reply(owner_details_t *owner, char *reply){
|
||||
if(reply != NULL){
|
||||
if(owner->reply == NULL){
|
||||
owner->reply = (char*)malloc(strlen(reply) + 1);
|
||||
}
|
||||
else{
|
||||
owner->reply = (char*)realloc(owner->reply,strlen(reply) + 1);
|
||||
}
|
||||
strncpy(owner->reply,reply,strlen(owner->reply));
|
||||
LOG_DEBUG("set_owner_details_reply","set: %s",reply);
|
||||
strncpy(owner->reply,reply,sizeof(owner->reply));
|
||||
return 1;
|
||||
}
|
||||
else{
|
||||
@@ -145,6 +130,10 @@ uint8_t set_owner_details(owner_details_t* owner, char* name, char* surname){
|
||||
if(set_owner_details_name(owner, name) && set_owner_details_surname(owner, surname)){
|
||||
set_owner_details_mac(owner);
|
||||
format_reply(owner);
|
||||
return 1;
|
||||
}
|
||||
else{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,13 +145,12 @@ uint8_t set_owner_details(owner_details_t* owner, char* name, char* surname){
|
||||
* @return
|
||||
*/
|
||||
|
||||
char* get_owner_details_name(owner_details_t owner){
|
||||
char *err_reply = "no name yet";
|
||||
if(owner.name == NULL){
|
||||
owner.name = (char*)malloc(strlen(err_reply));
|
||||
strncpy(owner.name,err_reply,strlen(owner.name));
|
||||
char* get_owner_details_name(owner_details_t *owner){
|
||||
char err_reply[20] = "no name yet";
|
||||
if(owner->name == NULL){
|
||||
strncpy(owner->name,err_reply,sizeof(owner->name));
|
||||
}
|
||||
return owner.name;
|
||||
return *owner->name;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -173,13 +161,12 @@ char* get_owner_details_name(owner_details_t owner){
|
||||
* @return
|
||||
*/
|
||||
|
||||
char* get_owner_details_surname(owner_details_t owner){
|
||||
char *err_reply = "no surname yet";
|
||||
if(owner.surname == NULL){
|
||||
owner.surname = (char*)malloc(strlen(err_reply));
|
||||
strncpy(owner.surname,err_reply,strlen(owner.surname));
|
||||
char* get_owner_details_surname(owner_details_t* owner){
|
||||
char err_reply[20] = "no surname yet";
|
||||
if(owner->surname == NULL){
|
||||
strncpy(owner->surname,err_reply,sizeof(owner->surname));
|
||||
}
|
||||
return owner.surname;
|
||||
return owner->surname;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -190,13 +177,13 @@ char* get_owner_details_surname(owner_details_t owner){
|
||||
* @return
|
||||
*/
|
||||
|
||||
char* get_owner_details_reply(owner_details_t owner){
|
||||
char *err_reply = "no reply yet";
|
||||
if(owner.reply == NULL){
|
||||
owner.reply = (char*)malloc(strlen(err_reply));
|
||||
strncpy(owner.reply,err_reply,strlen(owner.reply));
|
||||
char* get_owner_details_reply(owner_details_t *owner){
|
||||
LOG_DEBUG("get_owner_details_reply","getting reply");
|
||||
char err_reply[20] = "no reply yet";
|
||||
if(owner->reply == NULL){
|
||||
strncpy(owner->reply,err_reply,sizeof(owner->reply));
|
||||
}
|
||||
return owner.reply;
|
||||
return owner->reply;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -111,12 +111,16 @@ int main(void)
|
||||
MX_QUADSPI_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
owner_details_t owner;
|
||||
LOG_DEBUG("main1","helloworld");
|
||||
LOG_DEBUG("main2","%s",get_owner_details_reply(owner));
|
||||
set_owner_details(&owner, "joran", "vn");
|
||||
LOG_DEBUG("main3","%s",get_owner_details_reply(owner));
|
||||
set_owner_details(&owner, "joran", "Van Nieuwenhoven");
|
||||
LOG_DEBUG("main4","%s",get_owner_details_reply(owner));
|
||||
LOG_DEBUG("main1","\nhelloworld");
|
||||
LOG_DEBUG("main2","%s",get_owner_details_reply(&owner));
|
||||
if(!set_owner_details(&owner, "joran", "vn")){
|
||||
LOG_DEBUG("main3","error");;
|
||||
}
|
||||
LOG_DEBUG("main4","%s",get_owner_details_reply(&owner));
|
||||
if(!set_owner_details(&owner, "joran", "Van Nieuwenhoven")){
|
||||
LOG_DEBUG("main5","error");
|
||||
}
|
||||
LOG_DEBUG("main6","%s",get_owner_details_reply(&owner));
|
||||
/* USER CODE END 2 */
|
||||
|
||||
/* Infinite loop */
|
||||
|
||||
Reference in New Issue
Block a user