You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Chuck Rolke (JIRA)" <ji...@apache.org> on 2016/02/01 22:31:39 UTC

[jira] [Created] (DISPATCH-212) C source pattern 'typedef struct S_t S_t' confuses some development systems

Chuck Rolke created DISPATCH-212:
------------------------------------

             Summary: C source pattern 'typedef struct S_t S_t' confuses some development systems
                 Key: DISPATCH-212
                 URL: https://issues.apache.org/jira/browse/DISPATCH-212
             Project: Qpid Dispatch
          Issue Type: Improvement
    Affects Versions: 0.5
            Reporter: Chuck Rolke


KDevelop in particular can't resolve where the struct is actually defined.  It gets stuck on the typedef and doesn't resolve the symbol elsewhere. If the struct/typedef were modified just slightly then this issue would be fixed. The proposed format for the typedef and the struct would be to name the structs with _s as the suffix and then the typedef would be
{noformat}
  typedef struct S_s S_t
{noformat}

The structures are defined in surprising places, sometimes C files and sometimes H files but not necessarily in the obvious place. I'm using this secret encoder chart now but having the IDE just find the structure would speed my day.

{noformat}
src/router_private.h:           struct  qd_address_t            {
src/alloc_pool.c:               struct  qd_alloc_item_t         {
src/alloc_pool.c:               struct  qd_alloc_pool_t         {
src/alloc_pool.c:               struct  qd_alloc_type_t         {
src/bitmask.c:                  struct  qd_bitmask_t            {
include/qpid/dispatch/buffer.h: struct  qd_buffer_t             {
src/compose_private.h:          struct  qd_composed_field_t     {
src/router_private.h:           struct  qd_config_address_t     {
src/connection_manager.c:       struct  qd_config_connector_t   {
src/connection_manager.c:       struct  qd_config_listener_t    {
src/router_private.h:           struct  qd_config_phase_t       {
src/connection_manager.c:       struct  qd_connection_manager_t {
src/server_private.h:           struct  qd_connection_t         {
src/server_private.h:           struct  qd_connector_t          {
src/container.c:                struct  qd_container_t          {
src/dispatch_private.h:         struct  qd_dispatch_t           {
src/entity.c:                   struct  qd_entity_t             {
src/iterator.c:                 struct  qd_field_iterator_t     {
src/hash.c:                     struct  qd_hash_handle_t        {
src/iterator.c:                 struct  qd_hash_segment_t       {
src/hash.c:                     struct  qd_hash_t               {
src/iovec.c:                    struct  qd_iovec_t              {
src/container.c:                struct  qd_link_t               {
src/server_private.h:           struct  qd_listener_t           {
src/log.c:                      struct  qd_log_entry_t          {
src/log.c:                      struct  qd_log_source_t         {
src/router_private.h:           struct  qd_lrp_container_t      {
src/router_private.h:           struct  qd_lrp_t                {
include/qpid/dispatch/message.h:struct  qd_message_t            {
src/container.c:                struct  qd_node_t               {
src/parse.c:                    struct  qd_parsed_field_t       {
src/posix/driver.c:             struct  qdpn_connector_t        {
src/posix/driver.c:             struct  qdpn_driver_t           {
src/posix/driver.c:             struct  qdpn_listener_t         {
src/policy.c:                   struct  qd_policy_t             {
src/router_private.h:           struct  qd_router_conn_t        {
src/router_delivery.c:          struct  qd_router_delivery_t    {
include/qpid/dispatch/router.h: struct  qd_router_forwarder_t   {
src/router_private.h:           struct  qd_router_link_ref_t    {
src/router_private.h:           struct  qd_router_link_t        {
src/router_private.h:           struct  qd_router_lrp_ref_t     {
src/router_private.h:           struct  qd_router_node_t        {
src/router_private.h:           struct  qd_router_ref_t         {
src/router_private.h:           struct  qd_router_t             {
src/server_private.h:           struct  qd_server_t             {
src/timer_private.h:            struct  qd_timer_t              {
src/server_private.h:           struct  qd_user_fd_t            {
src/waypoint.c:                 struct  qd_waypoint_context_t   {
src/waypoint.c:                 struct  qd_waypoint_ref_t       {
src/router_private.h:           struct  qd_waypoint_t           {
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org