RFR: 8298730: Refactor subsystem_file_line_contents and add docs and tests [v2]

Johan Sjölen jsjolen at openjdk.org
Wed Dec 14 19:14:41 UTC 2022


> 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.

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/11667/files
  - new: https://git.openjdk.org/jdk/pull/11667/files/ce308c66..149646fe

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=11667&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=11667&range=00-01

  Stats: 88 lines in 5 files changed: 57 ins; 24 del; 7 mod
  Patch: https://git.openjdk.org/jdk/pull/11667.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/11667/head:pull/11667

PR: https://git.openjdk.org/jdk/pull/11667


More information about the hotspot-runtime-dev mailing list