incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Sebor (JIRA)" <j...@apache.org>
Subject [jira] Updated: (STDCXX-265) [IBM z/OS] runtime locale failure due to lack of native support for stat()
Date Tue, 08 Aug 2006 17:12:15 GMT
     [ http://issues.apache.org/jira/browse/STDCXX-265?page=all ]

Martin Sebor updated STDCXX-265:
--------------------------------

              Summary: [IBM z/OS] runtime locale failure due to lack of native support for
stat()  (was: IBM z/OS native MVS roguewave locale limitation)
    Affects Version/s: 4.1.2
                       4.1.3

> [IBM z/OS] runtime locale failure due to lack of native support for stat()
> --------------------------------------------------------------------------
>
>                 Key: STDCXX-265
>                 URL: http://issues.apache.org/jira/browse/STDCXX-265
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>    Affects Versions: 4.1.2, 4.1.3
>         Environment: z/OS 1.6,  DASD 3390-3 Emulation
>            Reporter: Scott (Yu) Zhong
>
> Native MVS has filename limitation of 8 characters and does not support stat function.
> examples of where stat function is being used is:
> facet.cpp:103
> ---------------------------------------------------------------------------------------
> static
> void* __rw_mmap (const char* fname, _RWSTD_SIZE_T *size)
> {
>     _RWSTD_ASSERT (0 != fname);
>     _RWSTD_ASSERT (0 != size);
> #if !defined (_MSC_VER)
>     struct stat sb;
>     if (stat (fname, &sb) == -1)
> #else
>     struct _stat sb;
>     if (_stat (fname, &sb) == -1)
> #endif
>         return 0;
>     *size = sb.st_size;
> #if !defined(_MSC_VER)
>     const int fd = open (fname, O_RDONLY);
>     if (-1 == fd)
>         return 0;
> ---------------------------------------------------------------------------------------
> A quick search in the stdlib source found that util/path.cpp, setlocale.cpp, and locale_core.cpp
uses stat function. The best alternative I found to stat on native MVS is to use either open/fopen
stream as a parameter to fstat function.
> The 8 character max filename limitation impedes roguewave's locale to function.  This
is because some roguewave's locale database file names are longer than 8 character long: LC_COLLATE,
LC_MONETARY, LC_NUMERIC, LC_MESSAGES.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message