Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix parsing input which begins with a newline & indentation #437

Merged
merged 4 commits into from
Nov 30, 2024

Conversation

fktn-k
Copy link
Owner

@fktn-k fktn-k commented Nov 30, 2024

This PR fixes parse error in building example files for basic_node::deserialize() function.
The root cause was that #432 introduced a bug in parsing an input which

  • begins with a newline and
  • contains a plain scalar as a mapping value with indentation on the second line

The above two conditions caused invalid indentation detections.
This bug can be reproduced by running this cpp file:

#include <fkYAML/node.hpp>
int main() {
    std::string input = R"(
    foo: true
    bar: 123
    baz: 3.14
    )";
    return 0;
}

The above snipet now runs as expected by fixing detection of indentation during deserialization.

Moreover, some minor fixes have been made to resolve warnings during example builds.


Pull Request Checklist

Read the CONTRIBUTING.md file for detailed information.

  • Changes are described in the pull request or in a referenced issue.
  • The test suite compiles and runs without any error.
  • The code coverage on your branch is 100%.
  • The documentation is updated if you added/changed a feature.

Please don't

  • The C++11 support varies between different compilers and versions. Please note the list of supported compilers. Some compilers like GCC 4.7 (and earlier), Clang 3.3 (and earlier), or Microsoft Visual Studio 13.0 and earlier are known not to work due to missing or incomplete C++11 support. Please refrain from proposing changes that work around these compiler's limitations with #ifdefs or other means.
  • Please refrain from proposing changes that would break YAML specifications. If you propose a conformant extension of YAML to be supported by the library, please motivate this extension.
  • Please do not open pull requests that address multiple issues.

@fktn-k fktn-k added the bug Something isn't working label Nov 30, 2024
@fktn-k fktn-k added this to the Release v0.4.0 milestone Nov 30, 2024
@fktn-k fktn-k self-assigned this Nov 30, 2024
Copy link

github-actions bot commented Nov 30, 2024

:octocat: Upload Coverage Event Notification

Coverage data has been uploaded for the commit 05c4a3c0d1bbbdb7c19ffa27744f5e4049eba038.
You can download the artifact which contains the same file uploaded to the Coveralls and its HTML version.

Name fkYAML_coverage.pr437.zip
ID 2256673171
URL https://github.com/fktn-k/fkYAML/actions/runs/12097283544/artifacts/2256673171

@fktn-k fktn-k changed the title Fix parsing input which begins with a newline Fix parsing input which begins with a newline & indentation Nov 30, 2024
@fktn-k fktn-k merged commit f611105 into develop Nov 30, 2024
163 checks passed
@fktn-k fktn-k deleted the fix_parsing_input_with_beginning_newline branch November 30, 2024 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant