Skip to content
Snippets Groups Projects
  • Sean Bright's avatar
    7d96b3e4
    utf8.c: Add UTF-8 validation and utility functions · 7d96b3e4
    Sean Bright authored
    There are various places in Asterisk - specifically in regards to
    database integration - where having some kind of UTF-8 validation would
    be beneficial. This patch adds:
    
    * Functions to validate that a given string contains only valid UTF-8
      sequences.
    
    * A function to copy a string (similar to ast_copy_string) stopping when
      an invalid UTF-8 sequence is encountered.
    
    * A UTF-8 validator that allows for progressive validation.
    
    All of this is based on the excellent UTF-8 decoder by Björn Höhrmann.
    More information is available here:
    
        https://bjoern.hoehrmann.de/utf-8/decoder/dfa/
    
    The API was written in such a way that should allow us to replace the
    implementation later should we determine that we need something more
    comprehensive.
    
    Change-Id: I3555d787a79e7c780a7800cd26e0b5056368abf9
    7d96b3e4
    History
    utf8.c: Add UTF-8 validation and utility functions
    Sean Bright authored
    There are various places in Asterisk - specifically in regards to
    database integration - where having some kind of UTF-8 validation would
    be beneficial. This patch adds:
    
    * Functions to validate that a given string contains only valid UTF-8
      sequences.
    
    * A function to copy a string (similar to ast_copy_string) stopping when
      an invalid UTF-8 sequence is encountered.
    
    * A UTF-8 validator that allows for progressive validation.
    
    All of this is based on the excellent UTF-8 decoder by Björn Höhrmann.
    More information is available here:
    
        https://bjoern.hoehrmann.de/utf-8/decoder/dfa/
    
    The API was written in such a way that should allow us to replace the
    implementation later should we determine that we need something more
    comprehensive.
    
    Change-Id: I3555d787a79e7c780a7800cd26e0b5056368abf9