[jira] [Commented] (MINIFICPP-645) Move from new to malloc in CAPI to facilitate eventual change from C++ to C
[ https://issues.apache.org/jira/browse/MINIFICPP-645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16689765#comment-16689765 ] ASF GitHub Bot commented on MINIFICPP-645: -- Github user asfgit closed the pull request at: https://github.com/apache/nifi-minifi-cpp/pull/439 > Move from new to malloc in CAPI to facilitate eventual change from C++ to C > --- > > Key: MINIFICPP-645 > URL: https://issues.apache.org/jira/browse/MINIFICPP-645 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Mr TheSegfault >Assignee: Arpad Boda >Priority: Blocker > Labels: CAPI, nanofi > Fix For: 0.6.0 > > > As gradually move to C we should move out of libminifi and remove the linter. > Nothing that is returned via the API that is not an opaque pointer should use > new, and conversely nothing that is passed in as a non-opaque pointer should > be deleted versus freed -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-645) Move from new to malloc in CAPI to facilitate eventual change from C++ to C
[ https://issues.apache.org/jira/browse/MINIFICPP-645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16689490#comment-16689490 ] ASF GitHub Bot commented on MINIFICPP-645: -- Github user phrocker commented on the issue: https://github.com/apache/nifi-minifi-cpp/pull/439 > There is no delete, it was wrong before, this PR just fixes: > > ``` > void free_flowfile(flow_file_record *ff) { > if (ff == nullptr) { > return; > } > auto content_repo_ptr = static_cast*>(ff->crp); > if (content_repo_ptr->get()) { > std::shared_ptr claim = std::make_shared(ff->contentLocation, *content_repo_ptr); > (*content_repo_ptr)->remove(claim); > } > if (ff->ffp == nullptr) { > auto map = static_cast(ff->attributes); > delete map; > } > free(ff->contentLocation); > free(ff); > ``` > The last line is the one that frees. Ah sorry, I was referencing the fact that over the course of PRs we've gone back and forth a little between malloc/new. There is a free_flow(flow *) that still uses delete. Happy to see a different PR if you prefer to do that, but it all falls under the guise of this ticket IMO. Would you prefer I merge this and then keep the ticket open as a blocker for the free? No real preference on my part. > Move from new to malloc in CAPI to facilitate eventual change from C++ to C > --- > > Key: MINIFICPP-645 > URL: https://issues.apache.org/jira/browse/MINIFICPP-645 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Mr TheSegfault >Assignee: Arpad Boda >Priority: Blocker > Labels: CAPI, nanofi > Fix For: 0.6.0 > > > As gradually move to C we should move out of libminifi and remove the linter. > Nothing that is returned via the API that is not an opaque pointer should use > new, and conversely nothing that is passed in as a non-opaque pointer should > be deleted versus freed -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-645) Move from new to malloc in CAPI to facilitate eventual change from C++ to C
[ https://issues.apache.org/jira/browse/MINIFICPP-645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16689301#comment-16689301 ] ASF GitHub Bot commented on MINIFICPP-645: -- Github user arpadboda commented on the issue: https://github.com/apache/nifi-minifi-cpp/pull/439 There is no delete, it was wrong before: ``` void free_flowfile(flow_file_record *ff) { if (ff == nullptr) { return; } auto content_repo_ptr = static_cast*>(ff->crp); if (content_repo_ptr->get()) { std::shared_ptr claim = std::make_shared(ff->contentLocation, *content_repo_ptr); (*content_repo_ptr)->remove(claim); } if (ff->ffp == nullptr) { auto map = static_cast(ff->attributes); delete map; } free(ff->contentLocation); free(ff); ``` The last line is the one that frees. > Move from new to malloc in CAPI to facilitate eventual change from C++ to C > --- > > Key: MINIFICPP-645 > URL: https://issues.apache.org/jira/browse/MINIFICPP-645 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Mr TheSegfault >Assignee: Arpad Boda >Priority: Blocker > Labels: CAPI, nanofi > Fix For: 0.6.0 > > > As gradually move to C we should move out of libminifi and remove the linter. > Nothing that is returned via the API that is not an opaque pointer should use > new -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-645) Move from new to malloc in CAPI to facilitate eventual change from C++ to C
[ https://issues.apache.org/jira/browse/MINIFICPP-645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16688673#comment-16688673 ] ASF GitHub Bot commented on MINIFICPP-645: -- Github user phrocker commented on a diff in the pull request: https://github.com/apache/nifi-minifi-cpp/pull/439#discussion_r234012390 --- Diff: nanofi/src/api/nanofi.cpp --- @@ -205,7 +205,7 @@ flow_file_record* create_ff_object(const char *file, const size_t len, const uin } flow_file_record* create_ff_object_na(const char *file, const size_t len, const uint64_t size) { - flow_file_record *new_ff = new flow_file_record; + flow_file_record *new_ff = (flow_file_record*) malloc(sizeof(flow_file_record)); --- End diff -- Oops, sorry, must change the delete to free due to avoid heap corruption. > Move from new to malloc in CAPI to facilitate eventual change from C++ to C > --- > > Key: MINIFICPP-645 > URL: https://issues.apache.org/jira/browse/MINIFICPP-645 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Mr TheSegfault >Assignee: Arpad Boda >Priority: Blocker > Labels: CAPI, nanofi > Fix For: 0.6.0 > > > As gradually move to C we should move out of libminifi and remove the linter. > Nothing that is returned via the API that is not an opaque pointer should use > new -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-645) Move from new to malloc in CAPI to facilitate eventual change from C++ to C
[ https://issues.apache.org/jira/browse/MINIFICPP-645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16687923#comment-16687923 ] ASF GitHub Bot commented on MINIFICPP-645: -- Github user arpadboda commented on a diff in the pull request: https://github.com/apache/nifi-minifi-cpp/pull/439#discussion_r233815698 --- Diff: nanofi/src/api/nanofi.cpp --- @@ -205,7 +205,7 @@ flow_file_record* create_ff_object(const char *file, const size_t len, const uin } flow_file_record* create_ff_object_na(const char *file, const size_t len, const uint64_t size) { - flow_file_record *new_ff = new flow_file_record; + flow_file_record *new_ff = (flow_file_record*) malloc(sizeof(flow_file_record)); --- End diff -- Happy newless year! :) > Move from new to malloc in CAPI to facilitate eventual change from C++ to C > --- > > Key: MINIFICPP-645 > URL: https://issues.apache.org/jira/browse/MINIFICPP-645 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Mr TheSegfault >Assignee: Arpad Boda >Priority: Blocker > Labels: CAPI, nanofi > Fix For: 0.6.0 > > > As gradually move to C we should move out of libminifi and remove the linter. > Nothing that is returned via the API that is not an opaque pointer should use > new -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-645) Move from new to malloc in CAPI to facilitate eventual change from C++ to C
[ https://issues.apache.org/jira/browse/MINIFICPP-645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16687921#comment-16687921 ] ASF GitHub Bot commented on MINIFICPP-645: -- GitHub user arpadboda opened a pull request: https://github.com/apache/nifi-minifi-cpp/pull/439 MINIFICPP-645 - Move from new to malloc in CAPI to facilitate eventua… …l change from C++ to C Thank you for submitting a contribution to Apache NiFi - MiNiFi C++. In order to streamline the review of the contribution we ask you to ensure the following steps have been taken: ### For all changes: - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [ ] Does your PR title start with MINIFICPP- where is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character. - [ ] Has your PR been rebased against the latest commit within the target branch (typically master)? - [ ] Is your initial contribution a single, squashed commit? ### For code changes: - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? - [ ] If applicable, have you updated the LICENSE file? - [ ] If applicable, have you updated the NOTICE file? ### For documentation related changes: - [ ] Have you ensured that format looks appropriate for the output in which it is rendered? ### Note: Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible. You can merge this pull request into a Git repository by running: $ git pull https://github.com/arpadboda/nifi-minifi-cpp MINIFICPP-645 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/nifi-minifi-cpp/pull/439.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #439 commit 8b0e39dc8ec0dc79c8b3e58fa1a364e736a1fe38 Author: Arpad Boda Date: 2018-11-15T12:00:07Z MINIFICPP-645 - Move from new to malloc in CAPI to facilitate eventual change from C++ to C > Move from new to malloc in CAPI to facilitate eventual change from C++ to C > --- > > Key: MINIFICPP-645 > URL: https://issues.apache.org/jira/browse/MINIFICPP-645 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Mr TheSegfault >Assignee: Arpad Boda >Priority: Blocker > Labels: CAPI, nanofi > Fix For: 0.6.0 > > > As gradually move to C we should move out of libminifi and remove the linter. > Nothing that is returned via the API that is not an opaque pointer should use > new -- This message was sent by Atlassian JIRA (v7.6.3#76005)