incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott (Yu) Zhong (JIRA)" <>
Subject [jira] Created: (STDCXX-265) IBM z/OS native MVS roguewave locale limitation
Date Tue, 01 Aug 2006 20:06:15 GMT
IBM z/OS native MVS roguewave locale limitation

                 Key: STDCXX-265
             Project: C++ Standard Library
          Issue Type: Bug
          Components: 22. Localization
         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:

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)
    struct _stat sb;
    if (_stat (fname, &sb) == -1)
        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,

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


View raw message