inconsistent behaviour in windows

From: Deepak Chand Rathore (deepakr@aztec.soft.net)
Date: Thu Feb 19 2004 - 01:54:00 EST

  • Next message: Michael Everson: "RE: Fwd: Re: (SC2WG2.609) New contribution N2705"

    Hi all,

    I am creating new tasks using CreateProcessA(), and i want all the arguments
    to be passed unchanged.
    but the arguments r not retaining their hex value( or sometimes not getting
    passed itself ) when passed to exe as argument in CreateProcessA().
    This change is observed when i change my system default locale settings.
    For example when "\x9d" is correctly passed to utf8.exe when my system
    locale is english, but when i change my system locale to korean, "\x9d" is
    not
    passed to utf8.exe. Similar behavior is observed with other hex values
    (\x81,...) which are reserved by windows in code page 1252. But such hex
    values can occur in
    my argument list as it is utf8 encoded . For eg. korean character (\xac5d
    )in utf8 ( \xea\xb1\x9d ) contains \x9d.

    CreateProcessA(
                    "utf8.exe",
                    "UTF8.exe \x81",
                    NULL,
                    NULL,
                    false,
                    0,
                    NULL,
                    NULL,
                    &l_siNewTask,
                    &l_piNewTask
                    ) ;

    Is there any work around ( microsoft guys) , where all the characters retain
    their hex values ( \x00 to \xff ) when passed to exe irrespective of the
    system locale settings ?

    Thanks

    DC



    This archive was generated by hypermail 2.1.5 : Thu Feb 19 2004 - 02:45:13 EST