stdcxx-issues 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 Wed, 14 May 2008 18:18:55 GMT

     [ https://issues.apache.org/jira/browse/STDCXX-265?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

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

              Severity: Compiler Error
              Priority: Minor  (was: Major)
     Affects Version/s: 4.1.4
                        4.2.0
                        4.2.1
         Fix Version/s: 4.2.2
    Remaining Estimate: 3h
     Original Estimate: 3h

Let's try to see if there's an easy way to work around this in 4.2.2.

> [IBM z/OS] runtime locale failure due to lack of native support for stat()
> --------------------------------------------------------------------------
>
>                 Key: STDCXX-265
>                 URL: https://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, 4.1.4, 4.2.0, 4.2.1
>         Environment: z/OS 1.6,  DASD 3390-3 Emulation
>            Reporter: Scott (Yu) Zhong
>            Priority: Minor
>             Fix For: 4.2.2
>
>   Original Estimate: 3h
>  Remaining Estimate: 3h
>
> 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.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message