- Only include the strictly necessary headers.
- Get rid of the dependency on shell and user DLLs.
- fgetws() gets the string buffer size in number of characters.
- We can use the CRT functions for lengths of the arguments etc.
- The cFileName member of the WIN32_FIND_DATAW structure does not
contain the full PATH to the enumerated file, but only its name.
In order to use _wfopen(), build a full file path out of the
directory part of the file specification and the full file name.
- Simplify a ConPrintf() call to make it "atomic".
- Fix the "confusion" lLineCount vs. lLineNumber vocable in the code.
- Do not emit an extra newline after having displayed the results for
a given file.
- Uppercase the switches for performing the comparisons.
- Send the errors to the StdErr stream.
- Remove trailing whitespace.
This commit contains a complete rewrite of find console utility.
The goal of it was to make the source code easier to maintain
and to add a missing feature (/offline switch).
Additional changes:
* now the program operates on Unicode strings;
* added conutils and shlwapi as program's libraries;
* added IDS_INVALID_SWITCH string into resources;
* modified IDS_USAGE string to include /offline switch
description.
https://ss64.com/nt/find.html was used for reference.