Thread

  1. setlocale() and gettext on Windows revisited

    Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> — 2011-08-31T19:30:45Z

    Back in January/February, a patch was committed to avoid using libintl's 
    version of setlocale:
    
    http://archives.postgresql.org/pgsql-hackers/2011-01/msg02628.php
    
    The comment says it was about a problem with printf() and friends, so I 
    wonder, why was that "#undef setlocale" line put inside the larger 
    "#ifdef USE_REPL_SNPRINTF" block? If I understand the problem correctly, 
    it has nothing to do with our replacement snprintf() function.
    
    Fortunately, we always use the replacement snprintf() code on Windows, 
    so there's no user-visible bug here, but if you imagine that we didn't 
    USE_REPL_SNPRINTF on Windows, we would still want the "#undef setlocale" 
    to take effect, right? I think that block is misplaced.
    
    -- 
       Heikki Linnakangas
       EnterpriseDB   http://www.enterprisedb.com
    
    
  2. Re: setlocale() and gettext on Windows revisited

    Hiroshi Inoue <inoue@tpf.co.jp> — 2011-09-01T00:34:36Z

    HI all,
    
    (2011/09/01 4:30), Heikki Linnakangas wrote:
    > Back in January/February, a patch was committed to avoid using libintl's
    > version of setlocale:
    >
    > http://archives.postgresql.org/pgsql-hackers/2011-01/msg02628.php
    >
    > The comment says it was about a problem with printf() and friends, so I
    > wonder, why was that "#undef setlocale" line put inside the larger
    > "#ifdef USE_REPL_SNPRINTF" block? If I understand the problem correctly,
    > it has nothing to do with our replacement snprintf() function.
    >
    > Fortunately, we always use the replacement snprintf() code on Windows,
    > so there's no user-visible bug here, but if you imagine that we didn't
    > USE_REPL_SNPRINTF on Windows, we would still want the "#undef setlocale"
    > to take effect, right? I think that block is misplaced.
    
    Yes you are right.
    I didn't notice "#ifdef USE_REPL_SNPRINTF" unfortunately.
    The "#undef setlocale" line should be placed outside the "ifdef 
    USE_REPL_SNPRINTF" block.
    
    regards,
    Hiroshi Inoue