Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-6819

st_mysql_show_var::value should be void* not char*

    XMLWordPrintable

Details

    Description

      (also filed as http://bugs.mysql.com/74170 )

      Description:
      ... as conversion from function pointer to char* is not allowed in C / C++

      How to repeat:
      In my plugin I have:

      static struct st_mysql_show_var my_plugin_statvars[]=
      {
          {"my_show_entry", (char *)&show_my_entry, SHOW_FUNC}
      }

      with C I'm getting

      my_plugin.c:131:32: warning: ISO C forbids conversion of function pointer to object pointer type [-Wpedantic]
          {"my_show_entry", (char *)&show_my_entry, SHOW_FUNC}
                            ^

      and with C++

      my_plugin.cc:131:41: warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object [enabled by default]
          {"my_show_entry", (char *)&show_my_entry, SHOW_FUNC}
                                     ^

      Suggested fix:
      Change st_mysql_show_var::value type to void* to allow writing of warning-free plugin code

      Attachments

        Activity

          People

            serg Sergei Golubchik
            hholzgra Hartmut Holzgraefe
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.