Skip to content
  • Marko Mäkelä's avatar
    aa9add5b
    Bug#14543059 DUPLICATE STRUCT TYPE DEFINITIONS IN INNODB SOURCE CODE · aa9add5b
    Marko Mäkelä authored
    Thi is a backport from mysql-trunk to mysql-5.6; original
    bzr revision id: marko.makela@oracle.com-20120828112616-pwnoijknfxudifa7
    
    Declare all structs with a type name that ends in _t instead of _struct.
    
    Replace all instances of
    
    typedef struct foo_struct foo_t;
    
    with forward declarations like this:
    
    struct foo_struct;
    
    Remove unnecessary forward declarations of structs.
    
    The bulk conversion was performed by a Perl snippet:
    perl -i -pe 's/_struct/_t/g;
    s/^typedef struct\s+([a-zA-Z][a-zA-Z0-9_]*_t)\s+\1\;$/struct $1\;/g;' \
    storage/innobase/*/*[ch]
    
    After this, some manual adjustments were made, and the code was
    grepped for 'typedef struct' and 'typedef enum'.
    
    The patch itself was grepped for '^-.*"' to ensure that no strings
    were changed (there is trx_lock_structs in the INFORMATION_SCHEMA
    tables).
    
    rb:1246 approved by Sunny Bains
    aa9add5b
    Bug#14543059 DUPLICATE STRUCT TYPE DEFINITIONS IN INNODB SOURCE CODE
    Marko Mäkelä authored
    Thi is a backport from mysql-trunk to mysql-5.6; original
    bzr revision id: marko.makela@oracle.com-20120828112616-pwnoijknfxudifa7
    
    Declare all structs with a type name that ends in _t instead of _struct.
    
    Replace all instances of
    
    typedef struct foo_struct foo_t;
    
    with forward declarations like this:
    
    struct foo_struct;
    
    Remove unnecessary forward declarations of structs.
    
    The bulk conversion was performed by a Perl snippet:
    perl -i -pe 's/_struct/_t/g;
    s/^typedef struct\s+([a-zA-Z][a-zA-Z0-9_]*_t)\s+\1\;$/struct $1\;/g;' \
    storage/innobase/*/*[ch]
    
    After this, some manual adjustments were made, and the code was
    grepped for 'typedef struct' and 'typedef enum'.
    
    The patch itself was grepped for '^-.*"' to ensure that no strings
    were changed (there is trx_lock_structs in the INFORMATION_SCHEMA
    tables).
    
    rb:1246 approved by Sunny Bains
Loading