diff options
| author | ꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id> | 2023-03-22 16:30:31 +0800 | 
|---|---|---|
| committer | ꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id> | 2023-03-22 16:30:31 +0800 | 
| commit | dc6d4edab4584a7153edcde86ae61fb9100e780a (patch) | |
| tree | 6d35a089aae2cf878f538897ba10cfc431c387de | |
| parent | c1ac5962f0283b47780d850d5d507bcd5af1bf78 (diff) | |
Pointer to struct would point to nothing
cause the struct would be out of scope.
| -rw-r--r-- | ord.cxx | 40 | 
1 files changed, 21 insertions, 19 deletions
| @@ -7,6 +7,9 @@ namespace QInterchange {  	static Ord* ord;  	static char* order_profile; +	static char *fname, *lname, *address1, *address2, *city, *state, *zip, +		    *phone_day, *email; +  	static interchange_member* mPtr;  	Ord::Ord(struct interchange_ord_order order, QObject* parent) : @@ -89,23 +92,23 @@ namespace QInterchange {  		order_profile = (char*)malloc(profile.size() + 1);  		strcpy(order_profile, profile.toLatin1().constData()); -		auto fname = (char*)malloc(member.fName().size() + 1); +		fname = (char*)malloc(member.fName().size() + 1);  		strcpy(fname, member.fName().toLatin1().constData()); -		auto lname = (char*)malloc(member.lName().size() + 1); +		lname = (char*)malloc(member.lName().size() + 1);  		strcpy(lname, member.lName().toLatin1().constData()); -		auto address1 = (char*)malloc(member.address1().size() + 1); +		address1 = (char*)malloc(member.address1().size() + 1);  		strcpy(address1, member.address1().toLatin1().constData()); -		auto address2 = (char*)malloc(member.address2().size() + 1); +		address2 = (char*)malloc(member.address2().size() + 1);  		strcpy(address2, member.address1().toLatin1().constData()); -		auto city = (char*)malloc(member.city().size() + 1); +		city = (char*)malloc(member.city().size() + 1);  		strcpy(city, member.city().toLatin1().constData()); -		auto state = (char*)malloc(member.state().size() + 1); +		state = (char*)malloc(member.state().size() + 1);  		strcpy(state, member.state().toLatin1().constData()); -		auto zip = (char*)malloc(member.zip().size() + 1); +		zip = (char*)malloc(member.zip().size() + 1);  		strcpy(zip, member.zip().toLatin1().constData()); -		auto phone_day = (char*)malloc(member.phoneDay().size() + 1); +		phone_day = (char*)malloc(member.phoneDay().size() + 1);  		strcpy(phone_day, member.phoneDay().toLatin1().constData()); -		auto email = (char*)malloc(member.email().size() + 1); +		email = (char*)malloc(member.email().size() + 1);  		strcpy(email, member.email().toLatin1().constData());  		interchange_member m {  			.fname = fname, @@ -118,19 +121,18 @@ namespace QInterchange {  			.phone_day = phone_day,  			.email = email  		}; -		mPtr = &m;  		interchange_ord_checkout(order_profile, m,  				[](interchange_response* response) { -			free(mPtr->fname); -			free(mPtr->lname); -			free(mPtr->address1); -			free(mPtr->address2); -			free(mPtr->city); -			free(mPtr->state); -			free(mPtr->zip); -			free(mPtr->phone_day); -			free(mPtr->email); +			free(fname); +			free(lname); +			free(address1); +			free(address2); +			free(city); +			free(state); +			free(zip); +			free(phone_day); +			free(email);  			free(order_profile);  			ord->emitTransaction(QString{response->data});  			interchange_free_response(response); |