Anonymous | Login | 2023-12-01 07:34 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||
ID | Category | Severity | Type | Date Submitted | Last Update | ||
0001255 | [1003.1(2016/18)/Issue7+TC2] System Interfaces | Objection | Enhancement Request | 2019-06-08 12:31 | 2019-11-19 16:28 | ||
Reporter | stephane | View Status | public | ||||
Assigned To | |||||||
Priority | normal | Resolution | Accepted As Marked | ||||
Status | Applied | ||||||
Name | Stephane Chazelas | ||||||
Organization | |||||||
User Reference | |||||||
Section | glob(), EXAMPLES section | ||||||
Page Number | 1111 (in the 2018 edition) | ||||||
Line Number | 37598 | ||||||
Interp Status | --- | ||||||
Final Accepted Text | Note: 0004487 | ||||||
Summary | 0001255: improper shell code in glob() example | ||||||
Description |
Even though it is not the main point of that example, the POSIX specification should avoid showing examples of bad shell coding practice. Here, that: ls -l *.c Should be: ls -ld -- *.c As the obvious intention of that code is to list the attributes of the non-hidden files whose name ends in .c. The example does say "approximately" which leaves it unclear in which way it differs. One of the differences in functionality is when the glob doesn't match any file, which could be easily addressed by adding the GLOB_NOCHECK flag. |
||||||
Desired Action |
Replace all occurrences of "ls -l *.c" with "ls -ld -- *.c", "ls -l *.c *.h" with "ls -ld -- *.c *.h" Change the first example to: globbuf.gl_offs = 3; if (glob("*.c", GLOB_DOOFFS|GLOB_NOCHECK, NULL, &globbuf)) abort(); globbuf.gl_pathv[0] = "ls"; globbuf.gl_pathv[1] = "-ld"; globbuf.gl_pathv[2] = "--"; The second to: globbuf.gl_offs = 3; if (glob("*.c", GLOB_DOOFFS|GLOB_NOCHECK, NULL, &globbuf) || glob("*.h", GLOB_DOOFFS|GLOB_NOCHECK|GLOB_APPEND, NULL, &globbuf)) abort(); Possibly clarify in which way it differs or does not differ from the sh equivalent. Like state that it should result in the execution of ls with the same list of arguments. |
||||||
Tags | tc3-2008 | ||||||
Attached Files | |||||||
|
![]() |
|||
Date Modified | Username | Field | Change |
2019-06-08 12:31 | stephane | New Issue | |
2019-06-08 12:31 | stephane | Name | => Stephane Chazelas |
2019-06-08 12:31 | stephane | Section | => glob(), EXAMPLES section |
2019-06-08 12:31 | stephane | Page Number | => 1111 (in the 2018 edition) |
2019-06-08 12:31 | stephane | Line Number | => 37598 |
2019-07-18 12:08 | geoffclare | Note Added: 0004486 | |
2019-07-18 16:18 | geoffclare | Note Added: 0004487 | |
2019-07-18 16:18 | geoffclare | Note Edited: 0004487 | |
2019-07-18 16:19 | geoffclare | Interp Status | => --- |
2019-07-18 16:19 | geoffclare | Final Accepted Text | => Note: 0001255 |
2019-07-18 16:19 | geoffclare | Status | New => Resolved |
2019-07-18 16:19 | geoffclare | Resolution | Open => Accepted As Marked |
2019-07-18 16:20 | geoffclare | Final Accepted Text | Note: 0001255 => Note: 0004487 |
2019-07-18 16:20 | geoffclare | Tag Attached: tc3-2008 | |
2019-11-19 16:28 | geoffclare | Status | Resolved => Applied |
Mantis 1.1.6[^] Copyright © 2000 - 2008 Mantis Group |