xref: /aosp_15_r20/external/pcre/doc/html/pcre2_pattern_convert.html (revision 22dc650d8ae982c6770746019a6f94af92b0f024)
1*22dc650dSSadaf Ebrahimi<html>
2*22dc650dSSadaf Ebrahimi<head>
3*22dc650dSSadaf Ebrahimi<title>pcre2_pattern_convert specification</title>
4*22dc650dSSadaf Ebrahimi</head>
5*22dc650dSSadaf Ebrahimi<body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
6*22dc650dSSadaf Ebrahimi<h1>pcre2_pattern_convert man page</h1>
7*22dc650dSSadaf Ebrahimi<p>
8*22dc650dSSadaf EbrahimiReturn to the <a href="index.html">PCRE2 index page</a>.
9*22dc650dSSadaf Ebrahimi</p>
10*22dc650dSSadaf Ebrahimi<p>
11*22dc650dSSadaf EbrahimiThis page is part of the PCRE2 HTML documentation. It was generated
12*22dc650dSSadaf Ebrahimiautomatically from the original man page. If there is any nonsense in it,
13*22dc650dSSadaf Ebrahimiplease consult the man page, in case the conversion went wrong.
14*22dc650dSSadaf Ebrahimi<br>
15*22dc650dSSadaf Ebrahimi<br><b>
16*22dc650dSSadaf EbrahimiSYNOPSIS
17*22dc650dSSadaf Ebrahimi</b><br>
18*22dc650dSSadaf Ebrahimi<P>
19*22dc650dSSadaf Ebrahimi<b>#include &#60;pcre2.h&#62;</b>
20*22dc650dSSadaf Ebrahimi</P>
21*22dc650dSSadaf Ebrahimi<P>
22*22dc650dSSadaf Ebrahimi<b>int pcre2_pattern_convert(PCRE2_SPTR <i>pattern</i>, PCRE2_SIZE <i>length</i>,</b>
23*22dc650dSSadaf Ebrahimi<b>  uint32_t <i>options</i>, PCRE2_UCHAR **<i>buffer</i>,</b>
24*22dc650dSSadaf Ebrahimi<b>  PCRE2_SIZE *<i>blength</i>, pcre2_convert_context *<i>cvcontext</i>);</b>
25*22dc650dSSadaf Ebrahimi</P>
26*22dc650dSSadaf Ebrahimi<br><b>
27*22dc650dSSadaf EbrahimiDESCRIPTION
28*22dc650dSSadaf Ebrahimi</b><br>
29*22dc650dSSadaf Ebrahimi<P>
30*22dc650dSSadaf EbrahimiThis function is part of an experimental set of pattern conversion functions.
31*22dc650dSSadaf EbrahimiIt converts a foreign pattern (for example, a glob) into a PCRE2 regular
32*22dc650dSSadaf Ebrahimiexpression pattern. Its arguments are:
33*22dc650dSSadaf Ebrahimi<pre>
34*22dc650dSSadaf Ebrahimi  <i>pattern</i>     The foreign pattern
35*22dc650dSSadaf Ebrahimi  <i>length</i>      The length of the input pattern or PCRE2_ZERO_TERMINATED
36*22dc650dSSadaf Ebrahimi  <i>options</i>     Option bits
37*22dc650dSSadaf Ebrahimi  <i>buffer</i>      Pointer to pointer to output buffer, or NULL
38*22dc650dSSadaf Ebrahimi  <i>blength</i>     Pointer to output length field
39*22dc650dSSadaf Ebrahimi  <i>cvcontext</i>   Pointer to a convert context or NULL
40*22dc650dSSadaf Ebrahimi</pre>
41*22dc650dSSadaf EbrahimiThe length of the converted pattern (excluding the terminating zero) is
42*22dc650dSSadaf Ebrahimireturned via <i>blength</i>. If <i>buffer</i> is NULL, the function just returns
43*22dc650dSSadaf Ebrahimithe output length. If <i>buffer</i> points to a NULL pointer, heap memory is
44*22dc650dSSadaf Ebrahimiobtained for the converted pattern, using the allocator in the context if
45*22dc650dSSadaf Ebrahimipresent (or else <b>malloc()</b>), and the field pointed to by <i>buffer</i> is
46*22dc650dSSadaf Ebrahimiupdated. If <i>buffer</i> points to a non-NULL field, that must point to a
47*22dc650dSSadaf Ebrahimibuffer whose size is in the variable pointed to by <i>blength</i>. This value is
48*22dc650dSSadaf Ebrahimiupdated.
49*22dc650dSSadaf Ebrahimi</P>
50*22dc650dSSadaf Ebrahimi<P>
51*22dc650dSSadaf EbrahimiThe option bits are:
52*22dc650dSSadaf Ebrahimi<pre>
53*22dc650dSSadaf Ebrahimi  PCRE2_CONVERT_UTF                     Input is UTF
54*22dc650dSSadaf Ebrahimi  PCRE2_CONVERT_NO_UTF_CHECK            Do not check UTF validity
55*22dc650dSSadaf Ebrahimi  PCRE2_CONVERT_POSIX_BASIC             Convert POSIX basic pattern
56*22dc650dSSadaf Ebrahimi  PCRE2_CONVERT_POSIX_EXTENDED          Convert POSIX extended pattern
57*22dc650dSSadaf Ebrahimi  PCRE2_CONVERT_GLOB                    ) Convert
58*22dc650dSSadaf Ebrahimi  PCRE2_CONVERT_GLOB_NO_WILD_SEPARATOR  )   various types
59*22dc650dSSadaf Ebrahimi  PCRE2_CONVERT_GLOB_NO_STARSTAR        )     of glob
60*22dc650dSSadaf Ebrahimi</pre>
61*22dc650dSSadaf EbrahimiThe return value from <b>pcre2_pattern_convert()</b> is zero on success or a
62*22dc650dSSadaf Ebrahiminon-zero PCRE2 error code.
63*22dc650dSSadaf Ebrahimi</P>
64*22dc650dSSadaf Ebrahimi<P>
65*22dc650dSSadaf EbrahimiThe pattern conversion functions are described in the
66*22dc650dSSadaf Ebrahimi<a href="pcre2convert.html"><b>pcre2convert</b></a>
67*22dc650dSSadaf Ebrahimidocumentation.
68*22dc650dSSadaf Ebrahimi<p>
69*22dc650dSSadaf EbrahimiReturn to the <a href="index.html">PCRE2 index page</a>.
70*22dc650dSSadaf Ebrahimi</p>
71