You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Roger Meier (JIRA)" <ji...@apache.org> on 2014/05/29 22:43:03 UTC

[jira] [Resolved] (THRIFT-2526) Assignment operators and copy constructors in c++ don't copy the __isset struct

     [ https://issues.apache.org/jira/browse/THRIFT-2526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Roger Meier resolved THRIFT-2526.
---------------------------------

    Resolution: Fixed
      Assignee: Roger Meier

committed

> Assignment operators and copy constructors in c++ don't copy the __isset struct
> -------------------------------------------------------------------------------
>
>                 Key: THRIFT-2526
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2526
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Compiler
>    Affects Versions: 0.9.2
>            Reporter: Dirk Vanden Boer
>            Assignee: Roger Meier
>            Priority: Trivial
>         Attachments: thrift-2526.patch
>
>
> I have a thrift protocol that returns a list of items. The items have optional fields. Putting these items in a vector the optional fields are not sent to clients as the assignment operator does not copy the __isset struct.
> Generated code:
> Item::Item(const Item& other3) {
>   id = other3.id;
>   title = other3.title;
>   itemclass = other3.itemclass;
>   thumbnailurl = other3.thumbnailurl;
> }
> Adding __isset = other3.__isset; fixes this issue.
> Same for the assignment operator.



--
This message was sent by Atlassian JIRA
(v6.2#6252)