• Tom Lane's avatar
    Fix possible omission of variable storage markers in ECPG. · be0b0528
    Tom Lane authored
    The ECPG preprocessor converted code such as
    
    static varchar str1[10], str2[20], str3[30];
    
    into
    
    static  struct varchar_1  { int len; char arr[ 10 ]; }  str1 ;
            struct varchar_2  { int len; char arr[ 20 ]; }  str2 ;
            struct varchar_3  { int len; char arr[ 30 ]; }  str3 ;
    
    thus losing the storage attribute for the later variables.
    Repeat the declaration for each such variable.
    
    (Note that this occurred only for variables declared "varchar"
    or "bytea", which may help explain how it escaped detection
    for so long.)
    
    Andrey Sokolov
    
    Discussion: https://postgr.es/m/942241662288242@mail.yandex.ru
    be0b0528
preproc-variable.stdout 169 Bytes