Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

pcre2_serialize_decode (3)

Name

pcre2_serialize_decode - compatible regular expressions (revised API)

Synopsis

#include <pcre2.h>

int32_t pcre2_serialize_decode(pcre2_code **codes,
int32_t number_of_codes, const uint8_t *bytes,
pcre2_general_context *gcontext);

Description

PCRE2_SERIALIZE_DECODE(3)  Library Functions Manual  PCRE2_SERIALIZE_DECODE(3)



NAME
       PCRE2 - Perl-compatible regular expressions (revised API)

SYNOPSIS

       #include <pcre2.h>

       int32_t pcre2_serialize_decode(pcre2_code **codes,
         int32_t number_of_codes, const uint8_t *bytes,
         pcre2_general_context *gcontext);

DESCRIPTION

       This function decodes a serialized set of compiled patterns back into a
       list of individual patterns. This is possible only on a  host  that  is
       running  the  same version of PCRE2, with the same code unit width, and
       the host  must  also  have  the  same  endianness,  pointer  width  and
       PCRE2_SIZE type. The arguments for pcre2_serialize_decode() are:

         codes            pointer to a vector in which to build the list
         number_of_codes  number of slots in the vector
         bytes            the serialized byte stream
         gcontext         pointer to a general context or NULL

       The  bytes  argument  must point to a block of data that was originally
       created by pcre2_serialize_encode(), though it may have been  saved  on
       disc or elsewhere in the meantime. If there are more codes in the seri-
       alized data than slots in the list, only those compiled  patterns  that
       will  fit  are  decoded.  The  yield  of  the function is the number of
       decoded patterns, or one of the following negative error codes:

         PCRE2_ERROR_BADDATA   number_of_codes is zero or less
         PCRE2_ERROR_BADMAGIC  mismatch of id bytes in bytes
         PCRE2_ERROR_BADMODE   mismatch of variable unit size or PCRE version
         PCRE2_ERROR_MEMORY    memory allocation failed
         PCRE2_ERROR_NULL      codes or bytes is NULL

       PCRE2_ERROR_BADMAGIC may mean that the data is corrupt, or that it  was
       compiled on a system with different endianness.

       There is a complete description of the PCRE2 native API in the pcre2api
       page and a description of the serialization functions in the pcre2seri-
       alize page.



ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | library/pcre2    |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source      was     downloaded     from      https://github.com/Philip-
       Hazel/pcre2/releases/download/pcre2-10.39/pcre2-10.39.tar.gz.

       Further information about this software can be found on the open source
       community website at http://pcre.org/.



PCRE2 10.32                      27 June 2018        PCRE2_SERIALIZE_DECODE(3)