Provided by: libpcre2-dev_10.34-7_amd64 bug


       PCRE2 - Perl-compatible regular expressions (revised API)


       #include <pcre2.h>

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


       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 serialized 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 pcre2serialize page.