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

Enhancements for feature macros #195

Open
wants to merge 19 commits into
base: master
Choose a base branch
from

Commits on May 22, 2020

  1. Make parsing stricter

    dominickpastore committed May 22, 2020
    Configuration menu
    Copy the full SHA
    fb7b0cf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6b6898f View commit details
    Browse the repository at this point in the history
  3. Fix compile bugs

    dominickpastore committed May 22, 2020
    Configuration menu
    Copy the full SHA
    05840d0 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2020

  1. Bugfixes

    dominickpastore committed May 25, 2020
    Configuration menu
    Copy the full SHA
    3391c19 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cedd377 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2020

  1. Configuration menu
    Copy the full SHA
    5cdfe0d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2cf8b77 View commit details
    Browse the repository at this point in the history
  3. Enforce RFC 8259 on primitives in strict mode

    Ensure primitives are "true", "false", "null", or an RFC 8259 compliant
    number. (Still need to add test cases.)
    dominickpastore committed May 26, 2020
    Configuration menu
    Copy the full SHA
    8eea1aa View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    30f2b7c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7ed82a3 View commit details
    Browse the repository at this point in the history
  6. Make strict string parsing conform to RFC 8259

    String parsing previously did not differ between strict and non-strict
    modes, but was not fully compliant with RFC 8259. RFC 8259 requires that
    control characters (code points < 0x20) be escaped. This is now enforced
    in strict mode. In addition, non-strict mode now does *no* validations
    on string contents, much like primitives in non-strict mode.
    dominickpastore committed May 26, 2020
    Configuration menu
    Copy the full SHA
    a3168f0 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2020

  1. Configuration menu
    Copy the full SHA
    f04273e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    140def9 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2020

  1. Configuration menu
    Copy the full SHA
    9690485 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2020

  1. Configuration menu
    Copy the full SHA
    44ee942 View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2020

  1. Configuration menu
    Copy the full SHA
    6bc6594 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2020

  1. Configuration menu
    Copy the full SHA
    90a2a4c View commit details
    Browse the repository at this point in the history
  2. Overhaul the feature macros

    Parent links and strict parsing are now the default behavior. New macros
    JSMN_LOW_MEMORY and JSMN_NON_STRICT disable these behaviors.
    
    JSMN_PARENT_LINKS still exists, but is defined by default unless
    JSMN_LOW_MEMORY is defined.
    
    JSMN_STRICT no longer exists. Instead, we have three new macros:
    
    JSMN_PERMISSIVE_PRIMITIVES - Relaxes validation of primitives. Any
    characters except whitespace and {}[],:" become allowed. (Normally, only
    "true", "false", "null", and RFC 8259 numbers are permitted.)
    
    JSMN_PERMISSIVE_STRINGS - Relaxes validation of strings. Any characters
    allowed. (Normally, control characters (<0x20) and invalid escape
    sequences are foridden.)
    
    JSMN_PRIMITIVE_KEYS - Allows primitives to be used as object keys.
    
    These can be defined individually, or defining JSMN_NON_STRICT will
    cause all to be defined.
    
    Tests have not yet been adapted for these changes.
    dominickpastore committed Jun 5, 2020
    Configuration menu
    Copy the full SHA
    17eacb0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fbcf781 View commit details
    Browse the repository at this point in the history