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); |