View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001040 | 1003.1(2013)/Issue7+TC1 | System Interfaces | public | 2016-03-31 09:14 | 2024-06-11 08:57 |
| Reporter | geoffclare | Assigned To | |||
| Priority | normal | Severity | Objection | Type | Error |
| Status | Closed | Resolution | Accepted | ||
| Name | Geoff Clare | ||||
| Organization | The Open Group | ||||
| User Reference | |||||
| Section | 2.5.2 Stream Orientation and Encoding Rules | ||||
| Page Number | 498 | ||||
| Line Number | 17062, 17057, 17049, 17038 | ||||
| Interp Status | --- | ||||
| Final Accepted Text | |||||
| Summary | 0001040: open_wmemstream() and mbstate_t | ||||
| Description | Since streams opened with open_wmemstream() do not involve any wide-character to multi-byte character conversion, the requirements in the standard relating to the mbstate_t object associated with wide-oriented streams should not apply to streams opened with open_wmemstream(). | ||||
| Desired Action | On page 498 line 17038 section 2.5.2 Change: Each wide-oriented stream has an associated mbstate_t object ...to: Each wide-oriented stream [CX]that was not opened with open_wmemstream()[/CX] has an associated mbstate_t object ... On page 498 line 17049 section 2.5.2 Change: ... the external file associated with a wide-oriented stream is a sequence of (possibly multi-byte) characters ...to: ... the external file associated with a wide-oriented stream [CX]that was not opened with open_wmemstream()[/CX] is a sequence of (possibly multi-byte) characters ... On page 498 line 17057 section 2.5.2 Change: The wide-character input functions read characters from the stream and convert them ...to: [CX]On streams that were not opened with open_wmemstream()[/CX], the wide-character input functions read characters from the stream and convert them ... On page 498 line 17062 section 2.5.2 Change: The wide-character output functions convert wide characters to (possibly multi-byte) characters ...to: [CX]On streams that were not opened with open_wmemstream()[/CX], the wide-character output functions convert wide characters to (possibly multi-byte) characters ... | ||||
| Tags | tc3-2008 | ||||
|
|
I agree the use of mbstate_t to always down convert, width wise, wchars to a multibyte encoding on output and up convert on input not necessary, but they are still required to handle the %c and %s format specifiers, without the l modifier, for wscan*() and wprint*(). Also, to properly handle Unicode in Issue 8, the mbstate_t needs fields to process multiword encodings in char16_t and char32_t arrays used as arguments to those, in the absence of a mwstate_t type. I think the change proposed doesn't cover that sufficiently. At present, "possibly multibyte" covers "possibly multiword" implicitly. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2016-03-31 09:14 | geoffclare | New Issue | |
| 2016-03-31 09:14 | geoffclare | Name | => Geoff Clare |
| 2016-03-31 09:14 | geoffclare | Organization | => The Open Group |
| 2016-03-31 09:14 | geoffclare | Section | => 2.5.2 Stream Orientation and Encoding Rules |
| 2016-03-31 09:14 | geoffclare | Page Number | => 498 |
| 2016-03-31 09:14 | geoffclare | Line Number | => 17062, 17057, 17049, 17038 |
| 2016-03-31 09:14 | geoffclare | Interp Status | => --- |
| 2016-03-31 14:29 | shware_systems | Note Added: 0003112 | |
| 2017-03-16 16:31 | Don Cragun | Status | New => Resolved |
| 2017-03-16 16:31 | Don Cragun | Resolution | Open => Accepted |
| 2017-03-16 16:32 | Don Cragun | Tag Attached: tc3-2008 | |
| 2019-10-23 10:20 | geoffclare | Status | Resolved => Applied |
| 2024-06-11 08:57 | agadmin | Status | Applied => Closed |