RFR: 8298730: Refactor subsystem_file_line_contents and add docs and tests [v2]
Johan Sjölen
jsjolen at openjdk.org
Wed Dec 14 19:28:32 UTC 2022
On Wed, 14 Dec 2022 19:14:41 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:
>> Hi!
>>
>> Citing the ticket directly:
>>
>> The function subsystem_file_line_contents does the simple job of parsing lines in a file, but does so in a fairly complex way. This function can be simplified. The function also has a surprising API, as you need to know that in one case the format string needs to take 2 specifiers, instead of 1.
>>
>> Some more context:
>>
>> `subsystem_file_line_contents` either parses files that look like this:
>>
>>
>> one_value
>>
>>
>> Called as: `subsystem_file_line_contents(ctrl, fname, nullptr, "%s")`
>>
>> Or like this:
>>
>>
>> key1 val1
>> key2 val2
>>
>>
>> Called as: `subsystem_file_line_contents(ctrl, fname, "key1", "%s %s")`
>>
>> The API for the key/value case is changed to: `subsystem_file_line_contents(ctrl, fname, "key1", "%s")`. Note: `"%s"`, not `"%s %s"`.
>
> Johan Sjölen has updated the pull request incrementally with seven additional commits since the last revision:
>
> - Split into single-line and multiple-line tests
> - Rename tests
> - Revert
> - Specify buffer limit in format specifier
> - Fix log string
> - Allow other whitespace than space, add test for \t
> - More tests, including JULONG and JLONG.
I missed the other two test cases you suggested, and have now added them.
-------------
PR: https://git.openjdk.org/jdk/pull/11667
More information about the hotspot-runtime-dev
mailing list