|
Viewing Issue Simple Details
[ Jump to Notes ]
|
[ Issue History ]
[ Print ]
|
|
ID |
Category |
Severity |
Type |
Date Submitted |
Last Update |
|
0000143 |
[1003.1(2008)/Issue 7] System Interfaces |
Objection |
Error |
2009-09-05 14:03 |
2009-12-07 16:56 |
|
|
Reporter |
eblake |
View Status |
public |
|
|
Assigned To |
ajosey |
|
Priority |
normal |
Resolution |
Accepted |
|
|
Status |
Interpretation Required |
|
|
|
|
|
Name |
Eric Blake |
|
Organization |
N/A |
|
User Reference |
ebb.readlinkat |
|
Section |
readlink |
|
Page Number |
1749 |
|
Line Number |
55865 |
|
Interp Status |
Approved |
|
Final Accepted Text |
Note: 0000234 |
|
|
Summary |
0000143: readlinkat return value |
|
Description |
The standard says that readlinkat returns 0 on success, rather than the resulting buffer length. This is a gratuitous difference from readlink, and makes the interface impossible to use (the standard is clear that the buffer of readlink() need not be NULL-terminated, so an application can't even trust strlen() after readlinkat). It also disagrees with implementation practice.
|
|
Desired Action |
Replace the two paragraphs at 55865-55869:
Upon successful completion, readlink( ) shall return the count of bytes placed in the buffer. Otherwise, it shall return a value of −1, leave the buffer unchanged, and set errno to indicate the error.
Upon successful completion, the readlinkat( ) function shall return 0. Otherwise, it shall return −1 and set errno to indicate the error.
with one paragraph:
Upon successful completion, these functions shall return the count of bytes placed in the buffer. Otherwise, these functions shall return a value of −1, leave the buffer unchanged, and set errno to indicate the error.
|
| Tags |
No tags attached. |
|
|
Attached Files |
|
|
|