X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=doc%2Fpcrs.3;h=2a96d5a0395173f9c87852636ab07bc1f0a0a26d;hb=cf116fe61c8d119f1b22478be79cae13368f76bf;hp=8fe90f962a8e71b83a242659fad7277ad28f1237;hpb=a8d913ceda6cb183788239f96e0bb72772acfb05;p=privoxy.git diff --git a/doc/pcrs.3 b/doc/pcrs.3 index 8fe90f96..2a96d5a0 100644 --- a/doc/pcrs.3 +++ b/doc/pcrs.3 @@ -17,15 +17,15 @@ .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, +.\" MA 02111, USA. .\" -.TH PCRS 3 "6 September 2001" +.TH PCRS 3 "4 March 2002" "pcrs-0.0.1" .SH NAME pcrs - Perl-compatible regular substitution. .SH SYNOPSIS .br -.BI "#include " +.B "#include " .PP .br .BI "pcrs_job *pcrs_compile(const char *" pattern "," @@ -276,9 +276,9 @@ were made, which is limited to 0 or 1 for non-global searches. .SH FREEING JOBS .RB "It is not sufficient to call " free() " on a " pcrs_job ", because it " contains pointers to other dynamically allocated structures. -.RB "Use " pcrs_free() " instead. It is safe to pass " NULL " pointers " +.RB "Use " pcrs_free_job() " instead. It is safe to pass " NULL " pointers " .RB "(or pointers to invalid " pcrs_job "s that contain " NULL " pointers" -.RB "to dependant structures) to " pcrs_free() "." +.RB "to dependant structures) to " pcrs_free_job() "." .SS Return value .RB "The value of the job's " next " pointer." @@ -310,7 +310,7 @@ The quote character is (surprise!) '\fB\\\fR'. It quotes the delimiter in a .IR command ", the" .RB ' $ "' in a" .IR substitute ", and, of course, itself. Note that the" -.RB ' $ "'doesn't need to be quoted if it isn't followed by " [0-9+'`&] "." +.RB ' $ "' doesn't need to be quoted if it isn't followed by " [0-9+'`&] "." .RI "For quoting in the " pattern ", please refer to" .BR PCRE(3) . @@ -405,7 +405,8 @@ int main(int Argc, char **Argv) { pcrs_job *job; char *result; - int newsize, err; + size_t newsize; + int err; if (Argc != 3) { @@ -415,21 +416,22 @@ int main(int Argc, char **Argv) if (NULL == (job = pcrs_compile_command(Argv[1], &err))) { - printf("Compile error: %s (%d).\\n", pcrs_strerror(err), err); + fprintf(stderr, "%s: compile error: %s (%d).\\n", Argv[0], pcrs_strerror(err), err); } if (0 > (err = pcrs_execute(job, Argv[2], strlen(Argv[2]) + 1, &result, &newsize))) { - printf("Exec error: %s (%d).\\n", pcrs_strerror(err), err); + fprintf(stderr, "%s: Exec error: %s (%d).\\n", Argv[0], pcrs_strerror(err), err); + } + else + { + printf("Result: *%s*\\n", result); + free(result); } - - /* Will tolerate NULL result */ - printf("Result: *%s*\\n", result); pcrs_free_job(job); - if (result) free(result); - return(err < 0); + } .fi @@ -438,7 +440,7 @@ int main(int Argc, char **Argv) .SH LIMITATIONS The number of matches that a global job can have is only limited by the available memory. An initial storage for 40 matches is reserved, which -is dynamically resized by the factor 1.6 if exhausted. +is dynamically resized by the factor 1.6 whenever it is exhausted. The number of capturing subpatterns is currently limited to 33, which is a Bad Thing[tm]. It should be dynamically expanded until it reaches the