Commit graph

12 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto ec0cc847b9
[ATTRIB] De-duplicate code; handle reparse points; verify path concatenation (#4215)
- Simplify duplicated code by having one EnumFiles() function using
  callbacks to perform actual action on enumerated files.

  PrintAttribute() and ChangeAttribute() duplicate their functionality,
  except for the actual difference of displaying the file attributes vs.
  changing them.
  Instead, move that per-file action into two callbacks, create a file
  enumerator function that contains the common functionality, and make
  it call the callback passed in parameter to it.

- Reparse points can be encountered during enumeration. In this case,
  don't try to go into too many reparse-point levels (maximum two).

- Verify that paths/file names concatenation don't overflow (with the
  StringCch* functions returning an error), as this could cause an
  infinite loop in case of recursive-enumeration, and the position where
  the new path part would be appended turns out to be just at the end
  of the buffer.
2023-08-11 13:49:27 +02:00
Hermès Bélusca-Maïto e2b04fe75d
[ATTRIB] Improve command-line parsing. (#5288)
Fix arguments parsing and redundant code in case no file specification
has been given.
(Handles both "attrib" and "attrib +h /s" as given in example.)
2023-05-18 13:07:31 +02:00
Hermès Bélusca-Maïto f870bbe1d4
[ATTRIB] Simplify the ErrorMessage() function.
And send the errors to the error stream.
2023-05-18 12:12:44 +02:00
Hermès Bélusca-Maïto 0db5fce47d
[ATTRIB] Fix bFound assignment, as it was originally intended by the PR reviewer.
See https://github.com/reactos/reactos/pull/2142#discussion_r360645296

This fixes the two warnings:
warning C4552: '!=': result of expression not used
2021-12-29 04:02:35 +01:00
Hermès Bélusca-Maïto da699be4c4
[ATTRIB] Formatting only. 2021-12-29 04:02:28 +01:00
Doug Lyons f68efe516e Update based on reviewer comments. 2021-12-28 02:03:54 +03:00
Doug Lyons e1d0128ffc Fewer GetLastError() function calls. 2021-12-28 02:03:54 +03:00
Doug Lyons 9c8a86b4cc Indentation fixes. 2021-12-28 02:03:54 +03:00
Doug Lyons f83f650dd6 attrib command improvements 2021-12-28 02:03:54 +03:00
Katayama Hirofumi MZ 6bf099a662 [ATTRIB] Delete unused variable 'szText' 2019-11-29 20:08:46 +09:00
Katayama Hirofumi MZ 189f648584
[CMDUTILS][ATTRIB] Support folder attributes (#2103)
CORE-16538
2019-11-29 20:03:19 +09:00
Eric Kohl 432854ee18 [ATTRIB][CMD] Convert the 'attrib' command into a standalone executable
CORE-9444
2019-09-21 11:41:15 +02:00