Home | History | Annotate | Line # | Download | only in tests
      1  1.1  christos #! /bin/sh
      2  1.1  christos 
      3  1.1  christos # Test checking of GCC internal format strings.
      4  1.1  christos 
      5  1.1  christos tmpfiles=""
      6  1.1  christos trap 'rm -fr $tmpfiles' 1 2 3 15
      7  1.1  christos 
      8  1.1  christos tmpfiles="$tmpfiles f-gi-2.data"
      9  1.1  christos cat <<\EOF > f-gi-2.data
     10  1.1  christos # Valid: %% doesn't count
     11  1.1  christos msgid  "abc%%def"
     12  1.1  christos msgstr "xyz"
     13  1.1  christos # Valid: %< doesn't count
     14  1.1  christos msgid  "abc%<def"
     15  1.1  christos msgstr "xyz"
     16  1.1  christos # Valid: %> doesn't count
     17  1.1  christos msgid  "abc%>def"
     18  1.1  christos msgstr "xyz"
     19  1.1  christos # Valid: %' doesn't count
     20  1.1  christos msgid  "abc%'def"
     21  1.1  christos msgstr "xyz"
     22  1.1  christos # Invalid: %m consumes err_no
     23  1.1  christos msgid  "abc%mdef"
     24  1.1  christos msgstr "xyz"
     25  1.1  christos # Invalid: %m consumes err_no
     26  1.1  christos msgid  "abc"
     27  1.1  christos msgstr "xyz%muvw"
     28  1.1  christos # Invalid: invalid msgstr
     29  1.1  christos msgid  "abc%%def"
     30  1.1  christos msgstr "xyz%"
     31  1.1  christos # Valid: same arguments
     32  1.1  christos msgid  "abc%s%Hdef"
     33  1.1  christos msgstr "xyz%s%H"
     34  1.1  christos # Valid: same arguments, with different flags
     35  1.1  christos msgid  "abc%s%Hdef"
     36  1.1  christos msgstr "xyz%qs%qH"
     37  1.1  christos # Valid: same arguments, with different widths
     38  1.1  christos msgid  "abc%.*sdef"
     39  1.1  christos msgstr "xyz%i%s"
     40  1.1  christos # Valid: same arguments but in numbered syntax
     41  1.1  christos msgid  "abc%s%ddef"
     42  1.1  christos msgstr "xyz%1$s%2$d"
     43  1.1  christos # Valid: permutation
     44  1.1  christos msgid  "abc%s%d%cdef"
     45  1.1  christos msgstr "xyz%3$c%2$d%1$s"
     46  1.1  christos # Valid: permutation with width
     47  1.1  christos msgid  "abc%c%.*sdef"
     48  1.1  christos msgstr "xyz%3$.*2$s%1$c"
     49  1.1  christos # Invalid: too few arguments
     50  1.1  christos msgid  "abc%sdef%u"
     51  1.1  christos msgstr "xyz%s"
     52  1.1  christos # Invalid: too many arguments
     53  1.1  christos msgid  "abc%udef"
     54  1.1  christos msgstr "xyz%uvw%c"
     55  1.1  christos # Valid: same numbered arguments, with different widths
     56  1.1  christos msgid  "abc%2$5s%1$4s"
     57  1.1  christos msgstr "xyz%2$4s%1$5s"
     58  1.1  christos # Invalid: missing argument
     59  1.1  christos msgid  "abc%2$sdef%1$u"
     60  1.1  christos msgstr "xyz%1$u"
     61  1.1  christos # Invalid: missing argument
     62  1.1  christos msgid  "abc%1$sdef%2$u"
     63  1.1  christos msgstr "xyz%2$u"
     64  1.1  christos # Invalid: added argument
     65  1.1  christos msgid  "abc%1$udef"
     66  1.1  christos msgstr "xyz%1$uvw%2$c"
     67  1.1  christos # Valid: type compatibility
     68  1.1  christos msgid  "abc%i"
     69  1.1  christos msgstr "xyz%d"
     70  1.1  christos # Valid: type compatibility
     71  1.1  christos msgid  "abc%o"
     72  1.1  christos msgstr "xyz%u"
     73  1.1  christos # Valid: type compatibility
     74  1.1  christos msgid  "abc%u"
     75  1.1  christos msgstr "xyz%x"
     76  1.1  christos # Invalid: type incompatibility
     77  1.1  christos msgid  "abc%c"
     78  1.1  christos msgstr "xyz%s"
     79  1.1  christos # Invalid: type incompatibility
     80  1.1  christos msgid  "abc%c"
     81  1.1  christos msgstr "xyz%i"
     82  1.1  christos # Invalid: type incompatibility
     83  1.1  christos msgid  "abc%c"
     84  1.1  christos msgstr "xyz%u"
     85  1.1  christos # Invalid: type incompatibility
     86  1.1  christos msgid  "abc%c"
     87  1.1  christos msgstr "xyz%p"
     88  1.1  christos # Invalid: type incompatibility
     89  1.1  christos msgid  "abc%c"
     90  1.1  christos msgstr "xyz%H"
     91  1.1  christos # Invalid: type incompatibility
     92  1.1  christos msgid  "abc%c"
     93  1.1  christos msgstr "xyz%D"
     94  1.1  christos # Invalid: type incompatibility
     95  1.1  christos msgid  "abc%c"
     96  1.1  christos msgstr "xyz%F"
     97  1.1  christos # Invalid: type incompatibility
     98  1.1  christos msgid  "abc%c"
     99  1.1  christos msgstr "xyz%T"
    100  1.1  christos # Invalid: type incompatibility
    101  1.1  christos msgid  "abc%c"
    102  1.1  christos msgstr "xyz%A"
    103  1.1  christos # Invalid: type incompatibility
    104  1.1  christos msgid  "abc%c"
    105  1.1  christos msgstr "xyz%C"
    106  1.1  christos # Invalid: type incompatibility
    107  1.1  christos msgid  "abc%c"
    108  1.1  christos msgstr "xyz%E"
    109  1.1  christos # Invalid: type incompatibility
    110  1.1  christos msgid  "abc%c"
    111  1.1  christos msgstr "xyz%L"
    112  1.1  christos # Invalid: type incompatibility
    113  1.1  christos msgid  "abc%c"
    114  1.1  christos msgstr "xyz%O"
    115  1.1  christos # Invalid: type incompatibility
    116  1.1  christos msgid  "abc%c"
    117  1.1  christos msgstr "xyz%P"
    118  1.1  christos # Invalid: type incompatibility
    119  1.1  christos msgid  "abc%c"
    120  1.1  christos msgstr "xyz%Q"
    121  1.1  christos # Invalid: type incompatibility
    122  1.1  christos msgid  "abc%c"
    123  1.1  christos msgstr "xyz%V"
    124  1.1  christos # Invalid: type incompatibility
    125  1.1  christos msgid  "abc%s"
    126  1.1  christos msgstr "xyz%i"
    127  1.1  christos # Invalid: type incompatibility
    128  1.1  christos msgid  "abc%s"
    129  1.1  christos msgstr "xyz%u"
    130  1.1  christos # Invalid: type incompatibility
    131  1.1  christos msgid  "abc%s"
    132  1.1  christos msgstr "xyz%p"
    133  1.1  christos # Invalid: type incompatibility
    134  1.1  christos msgid  "abc%s"
    135  1.1  christos msgstr "xyz%H"
    136  1.1  christos # Invalid: type incompatibility
    137  1.1  christos msgid  "abc%s"
    138  1.1  christos msgstr "xyz%D"
    139  1.1  christos # Invalid: type incompatibility
    140  1.1  christos msgid  "abc%s"
    141  1.1  christos msgstr "xyz%F"
    142  1.1  christos # Invalid: type incompatibility
    143  1.1  christos msgid  "abc%s"
    144  1.1  christos msgstr "xyz%T"
    145  1.1  christos # Invalid: type incompatibility
    146  1.1  christos msgid  "abc%s"
    147  1.1  christos msgstr "xyz%A"
    148  1.1  christos # Invalid: type incompatibility
    149  1.1  christos msgid  "abc%s"
    150  1.1  christos msgstr "xyz%C"
    151  1.1  christos # Invalid: type incompatibility
    152  1.1  christos msgid  "abc%s"
    153  1.1  christos msgstr "xyz%E"
    154  1.1  christos # Invalid: type incompatibility
    155  1.1  christos msgid  "abc%s"
    156  1.1  christos msgstr "xyz%L"
    157  1.1  christos # Invalid: type incompatibility
    158  1.1  christos msgid  "abc%s"
    159  1.1  christos msgstr "xyz%O"
    160  1.1  christos # Invalid: type incompatibility
    161  1.1  christos msgid  "abc%s"
    162  1.1  christos msgstr "xyz%P"
    163  1.1  christos # Invalid: type incompatibility
    164  1.1  christos msgid  "abc%s"
    165  1.1  christos msgstr "xyz%Q"
    166  1.1  christos # Invalid: type incompatibility
    167  1.1  christos msgid  "abc%s"
    168  1.1  christos msgstr "xyz%V"
    169  1.1  christos # Invalid: type incompatibility
    170  1.1  christos msgid  "abc%i"
    171  1.1  christos msgstr "xyz%u"
    172  1.1  christos # Invalid: type incompatibility
    173  1.1  christos msgid  "abc%i"
    174  1.1  christos msgstr "xyz%p"
    175  1.1  christos # Invalid: type incompatibility
    176  1.1  christos msgid  "abc%i"
    177  1.1  christos msgstr "xyz%H"
    178  1.1  christos # Invalid: type incompatibility
    179  1.1  christos msgid  "abc%i"
    180  1.1  christos msgstr "xyz%D"
    181  1.1  christos # Invalid: type incompatibility
    182  1.1  christos msgid  "abc%i"
    183  1.1  christos msgstr "xyz%F"
    184  1.1  christos # Invalid: type incompatibility
    185  1.1  christos msgid  "abc%i"
    186  1.1  christos msgstr "xyz%T"
    187  1.1  christos # Invalid: type incompatibility
    188  1.1  christos msgid  "abc%i"
    189  1.1  christos msgstr "xyz%A"
    190  1.1  christos # Invalid: type incompatibility
    191  1.1  christos msgid  "abc%i"
    192  1.1  christos msgstr "xyz%C"
    193  1.1  christos # Invalid: type incompatibility
    194  1.1  christos msgid  "abc%i"
    195  1.1  christos msgstr "xyz%E"
    196  1.1  christos # Invalid: type incompatibility
    197  1.1  christos msgid  "abc%i"
    198  1.1  christos msgstr "xyz%L"
    199  1.1  christos # Invalid: type incompatibility
    200  1.1  christos msgid  "abc%i"
    201  1.1  christos msgstr "xyz%O"
    202  1.1  christos # Invalid: type incompatibility
    203  1.1  christos msgid  "abc%i"
    204  1.1  christos msgstr "xyz%P"
    205  1.1  christos # Invalid: type incompatibility
    206  1.1  christos msgid  "abc%i"
    207  1.1  christos msgstr "xyz%Q"
    208  1.1  christos # Invalid: type incompatibility
    209  1.1  christos msgid  "abc%i"
    210  1.1  christos msgstr "xyz%V"
    211  1.1  christos # Invalid: type incompatibility
    212  1.1  christos msgid  "abc%u"
    213  1.1  christos msgstr "xyz%p"
    214  1.1  christos # Invalid: type incompatibility
    215  1.1  christos msgid  "abc%u"
    216  1.1  christos msgstr "xyz%H"
    217  1.1  christos # Invalid: type incompatibility
    218  1.1  christos msgid  "abc%u"
    219  1.1  christos msgstr "xyz%D"
    220  1.1  christos # Invalid: type incompatibility
    221  1.1  christos msgid  "abc%u"
    222  1.1  christos msgstr "xyz%F"
    223  1.1  christos # Invalid: type incompatibility
    224  1.1  christos msgid  "abc%u"
    225  1.1  christos msgstr "xyz%T"
    226  1.1  christos # Invalid: type incompatibility
    227  1.1  christos msgid  "abc%u"
    228  1.1  christos msgstr "xyz%A"
    229  1.1  christos # Invalid: type incompatibility
    230  1.1  christos msgid  "abc%u"
    231  1.1  christos msgstr "xyz%C"
    232  1.1  christos # Invalid: type incompatibility
    233  1.1  christos msgid  "abc%u"
    234  1.1  christos msgstr "xyz%E"
    235  1.1  christos # Invalid: type incompatibility
    236  1.1  christos msgid  "abc%u"
    237  1.1  christos msgstr "xyz%L"
    238  1.1  christos # Invalid: type incompatibility
    239  1.1  christos msgid  "abc%u"
    240  1.1  christos msgstr "xyz%O"
    241  1.1  christos # Invalid: type incompatibility
    242  1.1  christos msgid  "abc%u"
    243  1.1  christos msgstr "xyz%P"
    244  1.1  christos # Invalid: type incompatibility
    245  1.1  christos msgid  "abc%u"
    246  1.1  christos msgstr "xyz%Q"
    247  1.1  christos # Invalid: type incompatibility
    248  1.1  christos msgid  "abc%u"
    249  1.1  christos msgstr "xyz%V"
    250  1.1  christos # Invalid: type incompatibility
    251  1.1  christos msgid  "abc%p"
    252  1.1  christos msgstr "xyz%H"
    253  1.1  christos # Invalid: type incompatibility
    254  1.1  christos msgid  "abc%p"
    255  1.1  christos msgstr "xyz%D"
    256  1.1  christos # Invalid: type incompatibility
    257  1.1  christos msgid  "abc%p"
    258  1.1  christos msgstr "xyz%F"
    259  1.1  christos # Invalid: type incompatibility
    260  1.1  christos msgid  "abc%p"
    261  1.1  christos msgstr "xyz%T"
    262  1.1  christos # Invalid: type incompatibility
    263  1.1  christos msgid  "abc%p"
    264  1.1  christos msgstr "xyz%A"
    265  1.1  christos # Invalid: type incompatibility
    266  1.1  christos msgid  "abc%p"
    267  1.1  christos msgstr "xyz%C"
    268  1.1  christos # Invalid: type incompatibility
    269  1.1  christos msgid  "abc%p"
    270  1.1  christos msgstr "xyz%E"
    271  1.1  christos # Invalid: type incompatibility
    272  1.1  christos msgid  "abc%p"
    273  1.1  christos msgstr "xyz%L"
    274  1.1  christos # Invalid: type incompatibility
    275  1.1  christos msgid  "abc%p"
    276  1.1  christos msgstr "xyz%O"
    277  1.1  christos # Invalid: type incompatibility
    278  1.1  christos msgid  "abc%p"
    279  1.1  christos msgstr "xyz%P"
    280  1.1  christos # Invalid: type incompatibility
    281  1.1  christos msgid  "abc%p"
    282  1.1  christos msgstr "xyz%Q"
    283  1.1  christos # Invalid: type incompatibility
    284  1.1  christos msgid  "abc%p"
    285  1.1  christos msgstr "xyz%V"
    286  1.1  christos # Invalid: type incompatibility
    287  1.1  christos msgid  "abc%H"
    288  1.1  christos msgstr "xyz%D"
    289  1.1  christos # Invalid: type incompatibility
    290  1.1  christos msgid  "abc%H"
    291  1.1  christos msgstr "xyz%F"
    292  1.1  christos # Invalid: type incompatibility
    293  1.1  christos msgid  "abc%H"
    294  1.1  christos msgstr "xyz%T"
    295  1.1  christos # Invalid: type incompatibility
    296  1.1  christos msgid  "abc%H"
    297  1.1  christos msgstr "xyz%A"
    298  1.1  christos # Invalid: type incompatibility
    299  1.1  christos msgid  "abc%H"
    300  1.1  christos msgstr "xyz%C"
    301  1.1  christos # Invalid: type incompatibility
    302  1.1  christos msgid  "abc%H"
    303  1.1  christos msgstr "xyz%E"
    304  1.1  christos # Invalid: type incompatibility
    305  1.1  christos msgid  "abc%H"
    306  1.1  christos msgstr "xyz%L"
    307  1.1  christos # Invalid: type incompatibility
    308  1.1  christos msgid  "abc%H"
    309  1.1  christos msgstr "xyz%O"
    310  1.1  christos # Invalid: type incompatibility
    311  1.1  christos msgid  "abc%H"
    312  1.1  christos msgstr "xyz%P"
    313  1.1  christos # Invalid: type incompatibility
    314  1.1  christos msgid  "abc%H"
    315  1.1  christos msgstr "xyz%Q"
    316  1.1  christos # Invalid: type incompatibility
    317  1.1  christos msgid  "abc%H"
    318  1.1  christos msgstr "xyz%V"
    319  1.1  christos # Invalid: type incompatibility
    320  1.1  christos msgid  "abc%D"
    321  1.1  christos msgstr "xyz%F"
    322  1.1  christos # Invalid: type incompatibility
    323  1.1  christos msgid  "abc%D"
    324  1.1  christos msgstr "xyz%T"
    325  1.1  christos # Invalid: type incompatibility
    326  1.1  christos msgid  "abc%D"
    327  1.1  christos msgstr "xyz%A"
    328  1.1  christos # Invalid: type incompatibility
    329  1.1  christos msgid  "abc%D"
    330  1.1  christos msgstr "xyz%C"
    331  1.1  christos # Invalid: type incompatibility
    332  1.1  christos msgid  "abc%D"
    333  1.1  christos msgstr "xyz%E"
    334  1.1  christos # Invalid: type incompatibility
    335  1.1  christos msgid  "abc%D"
    336  1.1  christos msgstr "xyz%L"
    337  1.1  christos # Invalid: type incompatibility
    338  1.1  christos msgid  "abc%D"
    339  1.1  christos msgstr "xyz%O"
    340  1.1  christos # Invalid: type incompatibility
    341  1.1  christos msgid  "abc%D"
    342  1.1  christos msgstr "xyz%P"
    343  1.1  christos # Invalid: type incompatibility
    344  1.1  christos msgid  "abc%D"
    345  1.1  christos msgstr "xyz%Q"
    346  1.1  christos # Invalid: type incompatibility
    347  1.1  christos msgid  "abc%D"
    348  1.1  christos msgstr "xyz%V"
    349  1.1  christos # Invalid: type incompatibility
    350  1.1  christos msgid  "abc%F"
    351  1.1  christos msgstr "xyz%T"
    352  1.1  christos # Invalid: type incompatibility
    353  1.1  christos msgid  "abc%F"
    354  1.1  christos msgstr "xyz%A"
    355  1.1  christos # Invalid: type incompatibility
    356  1.1  christos msgid  "abc%F"
    357  1.1  christos msgstr "xyz%C"
    358  1.1  christos # Invalid: type incompatibility
    359  1.1  christos msgid  "abc%F"
    360  1.1  christos msgstr "xyz%E"
    361  1.1  christos # Invalid: type incompatibility
    362  1.1  christos msgid  "abc%F"
    363  1.1  christos msgstr "xyz%L"
    364  1.1  christos # Invalid: type incompatibility
    365  1.1  christos msgid  "abc%F"
    366  1.1  christos msgstr "xyz%O"
    367  1.1  christos # Invalid: type incompatibility
    368  1.1  christos msgid  "abc%F"
    369  1.1  christos msgstr "xyz%P"
    370  1.1  christos # Invalid: type incompatibility
    371  1.1  christos msgid  "abc%F"
    372  1.1  christos msgstr "xyz%Q"
    373  1.1  christos # Invalid: type incompatibility
    374  1.1  christos msgid  "abc%F"
    375  1.1  christos msgstr "xyz%V"
    376  1.1  christos # Invalid: type incompatibility
    377  1.1  christos msgid  "abc%T"
    378  1.1  christos msgstr "xyz%A"
    379  1.1  christos # Invalid: type incompatibility
    380  1.1  christos msgid  "abc%T"
    381  1.1  christos msgstr "xyz%C"
    382  1.1  christos # Invalid: type incompatibility
    383  1.1  christos msgid  "abc%T"
    384  1.1  christos msgstr "xyz%E"
    385  1.1  christos # Invalid: type incompatibility
    386  1.1  christos msgid  "abc%T"
    387  1.1  christos msgstr "xyz%L"
    388  1.1  christos # Invalid: type incompatibility
    389  1.1  christos msgid  "abc%T"
    390  1.1  christos msgstr "xyz%O"
    391  1.1  christos # Invalid: type incompatibility
    392  1.1  christos msgid  "abc%T"
    393  1.1  christos msgstr "xyz%P"
    394  1.1  christos # Invalid: type incompatibility
    395  1.1  christos msgid  "abc%T"
    396  1.1  christos msgstr "xyz%Q"
    397  1.1  christos # Invalid: type incompatibility
    398  1.1  christos msgid  "abc%T"
    399  1.1  christos msgstr "xyz%V"
    400  1.1  christos # Invalid: type incompatibility
    401  1.1  christos msgid  "abc%A"
    402  1.1  christos msgstr "xyz%C"
    403  1.1  christos # Invalid: type incompatibility
    404  1.1  christos msgid  "abc%A"
    405  1.1  christos msgstr "xyz%E"
    406  1.1  christos # Invalid: type incompatibility
    407  1.1  christos msgid  "abc%A"
    408  1.1  christos msgstr "xyz%L"
    409  1.1  christos # Invalid: type incompatibility
    410  1.1  christos msgid  "abc%A"
    411  1.1  christos msgstr "xyz%O"
    412  1.1  christos # Invalid: type incompatibility
    413  1.1  christos msgid  "abc%A"
    414  1.1  christos msgstr "xyz%P"
    415  1.1  christos # Invalid: type incompatibility
    416  1.1  christos msgid  "abc%A"
    417  1.1  christos msgstr "xyz%Q"
    418  1.1  christos # Invalid: type incompatibility
    419  1.1  christos msgid  "abc%A"
    420  1.1  christos msgstr "xyz%V"
    421  1.1  christos # Invalid: type incompatibility
    422  1.1  christos msgid  "abc%C"
    423  1.1  christos msgstr "xyz%E"
    424  1.1  christos # Invalid: type incompatibility
    425  1.1  christos msgid  "abc%C"
    426  1.1  christos msgstr "xyz%L"
    427  1.1  christos # Invalid: type incompatibility
    428  1.1  christos msgid  "abc%C"
    429  1.1  christos msgstr "xyz%O"
    430  1.1  christos # Invalid: type incompatibility
    431  1.1  christos msgid  "abc%C"
    432  1.1  christos msgstr "xyz%P"
    433  1.1  christos # Invalid: type incompatibility
    434  1.1  christos msgid  "abc%C"
    435  1.1  christos msgstr "xyz%Q"
    436  1.1  christos # Invalid: type incompatibility
    437  1.1  christos msgid  "abc%C"
    438  1.1  christos msgstr "xyz%V"
    439  1.1  christos # Invalid: type incompatibility
    440  1.1  christos msgid  "abc%E"
    441  1.1  christos msgstr "xyz%L"
    442  1.1  christos # Invalid: type incompatibility
    443  1.1  christos msgid  "abc%E"
    444  1.1  christos msgstr "xyz%O"
    445  1.1  christos # Invalid: type incompatibility
    446  1.1  christos msgid  "abc%E"
    447  1.1  christos msgstr "xyz%P"
    448  1.1  christos # Invalid: type incompatibility
    449  1.1  christos msgid  "abc%E"
    450  1.1  christos msgstr "xyz%Q"
    451  1.1  christos # Invalid: type incompatibility
    452  1.1  christos msgid  "abc%E"
    453  1.1  christos msgstr "xyz%V"
    454  1.1  christos # Invalid: type incompatibility
    455  1.1  christos msgid  "abc%L"
    456  1.1  christos msgstr "xyz%O"
    457  1.1  christos # Invalid: type incompatibility
    458  1.1  christos msgid  "abc%L"
    459  1.1  christos msgstr "xyz%P"
    460  1.1  christos # Invalid: type incompatibility
    461  1.1  christos msgid  "abc%L"
    462  1.1  christos msgstr "xyz%Q"
    463  1.1  christos # Invalid: type incompatibility
    464  1.1  christos msgid  "abc%L"
    465  1.1  christos msgstr "xyz%V"
    466  1.1  christos # Invalid: type incompatibility
    467  1.1  christos msgid  "abc%O"
    468  1.1  christos msgstr "xyz%P"
    469  1.1  christos # Invalid: type incompatibility
    470  1.1  christos msgid  "abc%O"
    471  1.1  christos msgstr "xyz%Q"
    472  1.1  christos # Invalid: type incompatibility
    473  1.1  christos msgid  "abc%O"
    474  1.1  christos msgstr "xyz%V"
    475  1.1  christos # Invalid: type incompatibility
    476  1.1  christos msgid  "abc%P"
    477  1.1  christos msgstr "xyz%Q"
    478  1.1  christos # Invalid: type incompatibility
    479  1.1  christos msgid  "abc%P"
    480  1.1  christos msgstr "xyz%V"
    481  1.1  christos # Invalid: type incompatibility
    482  1.1  christos msgid  "abc%Q"
    483  1.1  christos msgstr "xyz%V"
    484  1.1  christos # Invalid: type incompatibility due to size
    485  1.1  christos msgid  "abc%i"
    486  1.1  christos msgstr "xyz%li"
    487  1.1  christos # Invalid: type incompatibility due to size
    488  1.1  christos msgid  "abc%i"
    489  1.1  christos msgstr "xyz%lli"
    490  1.1  christos # Invalid: type incompatibility due to size
    491  1.1  christos msgid  "abc%i"
    492  1.1  christos msgstr "xyz%wi"
    493  1.1  christos # Invalid: type incompatibility due to size
    494  1.1  christos msgid  "abc%li"
    495  1.1  christos msgstr "xyz%lli"
    496  1.1  christos # Invalid: type incompatibility due to size
    497  1.1  christos msgid  "abc%li"
    498  1.1  christos msgstr "xyz%wi"
    499  1.1  christos # Invalid: type incompatibility due to size
    500  1.1  christos msgid  "abc%lli"
    501  1.1  christos msgstr "xyz%wi"
    502  1.1  christos # Invalid: type incompatibility for width
    503  1.1  christos msgid  "abc%.*s"
    504  1.1  christos msgstr "xyz%u%s"
    505  1.1  christos EOF
    506  1.1  christos 
    507  1.1  christos : ${MSGFMT=msgfmt}
    508  1.1  christos n=0
    509  1.1  christos while read comment; do
    510  1.1  christos   read msgid_line
    511  1.1  christos   read msgstr_line
    512  1.1  christos   n=`expr $n + 1`
    513  1.1  christos   tmpfiles="$tmpfiles f-gi-2-$n.po f-gi-2-$n.mo"
    514  1.1  christos   cat <<EOF > f-gi-2-$n.po
    515  1.1  christos #, gcc-internal-format
    516  1.1  christos ${msgid_line}
    517  1.1  christos ${msgstr_line}
    518  1.1  christos EOF
    519  1.1  christos   fail=
    520  1.1  christos   if echo "$comment" | grep 'Valid:' > /dev/null; then
    521  1.1  christos     if ${MSGFMT} --check-format -o f-gi-2-$n.mo f-gi-2-$n.po; then
    522  1.1  christos       :
    523  1.1  christos     else
    524  1.1  christos       fail=yes
    525  1.1  christos     fi
    526  1.1  christos   else
    527  1.1  christos     ${MSGFMT} --check-format -o f-gi-2-$n.mo f-gi-2-$n.po 2> /dev/null
    528  1.1  christos     if test $? = 1; then
    529  1.1  christos       :
    530  1.1  christos     else
    531  1.1  christos       fail=yes
    532  1.1  christos     fi
    533  1.1  christos   fi
    534  1.1  christos   if test -n "$fail"; then
    535  1.1  christos     echo "Format string checking error:" 1>&2
    536  1.1  christos     cat f-gi-2-$n.po 1>&2
    537  1.1  christos     exit 1
    538  1.1  christos   fi
    539  1.1  christos   rm -f f-gi-2-$n.po f-gi-2-$n.mo
    540  1.1  christos done < f-gi-2.data
    541  1.1  christos 
    542  1.1  christos rm -fr $tmpfiles
    543  1.1  christos 
    544  1.1  christos exit 0
    545