sitter updated this revision to Diff 55338.
sitter added a comment.

  - defaultFilePath is now static in the cpp only, the public ctor defaults to 
QString() for the filePath, which gets checked in the private ctor and diverted 
to defaultFilePath if necessary
  - Private ctor now copies filePath as we may need to change it to 
defaultFilePath
  - = and \# parsing revisitede
    - new helper splitEntry mids the line at first = character only preventing 
= characters in pretty strings from tripping up the parsing
    - \# characters that are not the first character in the line are now not 
explicitly causing a line skip as far as entry parsing is concerned. I think 
this is actually a more truthful implementation of the format specification. 
since the spec doesn't even mention trailing \# we can do whatever with them 
and not skipping entire lines outright seems like the nicer solution here
  - api docs updated accordingly. now clearly states that trailing comments 
result in undefined behavior
  - test and fixture updated to make sure = and \# work in pretty string and 
that completely invalid lines are skipped
  - parsing skips now produce categorized warnings
  
  I am wondering if from an API POV it'd be nicer if we maybe had two ctors 
(one default, one with QString) so we can let initalizer lists handle whether 
the defaults apply or not.

REPOSITORY
  R244 KCoreAddons

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D20092?vs=54993&id=55338

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D20092

AFFECTED FILES
  autotests/CMakeLists.txt
  autotests/data/os-release
  autotests/kosreleasetest.cpp
  src/lib/CMakeLists.txt
  src/lib/util/kosrelease.cpp
  src/lib/util/kosrelease.h

To: sitter, apol, mpyne
Cc: davidedmundson, pino, aacid, mpyne, kde-frameworks-devel, michaelh, 
ngraham, bruns

Reply via email to