diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rwxr-xr-x | CheckMan | 67 | ||||
-rwxr-xr-x | PrepareRelease | 13 | ||||
-rw-r--r-- | doc/html/index.html | 16 | ||||
-rw-r--r-- | doc/html/pcre_compile2.html | 2 | ||||
-rw-r--r-- | doc/html/pcrecpp.html | 5 | ||||
-rw-r--r-- | doc/html/pcregrep.html | 2 | ||||
-rw-r--r-- | doc/pcre.3 | 10 | ||||
-rw-r--r-- | doc/pcre.txt | 59 | ||||
-rw-r--r-- | doc/pcre_compile.3 | 14 | ||||
-rw-r--r-- | doc/pcre_compile2.3 | 16 | ||||
-rw-r--r-- | doc/pcre_config.3 | 10 | ||||
-rw-r--r-- | doc/pcrecpp.3 | 18 | ||||
-rw-r--r-- | doc/pcregrep.1 | 2 | ||||
-rw-r--r-- | doc/pcreprecompile.3 | 2 | ||||
-rw-r--r-- | maint/README | 56 |
16 files changed, 193 insertions, 106 deletions
@@ -1,6 +1,13 @@ ChangeLog for PCRE ------------------ +Version 8.12 11-Jan-2011 +------------------------ + +1. Fixed some typos in the markup of the man pages, and wrote a script that + checks for such things as part of the documentation building process. + + Version 8.11 10-Dec-2010 ------------------------ diff --git a/CheckMan b/CheckMan new file mode 100755 index 0000000..de01334 --- /dev/null +++ b/CheckMan @@ -0,0 +1,67 @@ +#! /usr/bin/perl + +# A script to scan PCRE's man pages to check for typos in the control +# sequences. I use only a small set of the available repertoire, so it is +# straightforward to check that nothing else has slipped in by mistake. This +# script should be called in the doc directory. + +$yield = 0; + +while (scalar(@ARGV) > 0) + { + $line = 0; + $file = shift @ARGV; + + open (IN, $file) || die "Failed to open $file\n"; + + while (<IN>) + { + $line++; + if (/^\s*$/) + { + printf "Empty line $line of $file\n"; + $yield = 1; + } + elsif (/^\./) + { + if (!/^\.\s*$| + ^\.B\s+\S| + ^\.TH\s\S| + ^\.SH\s\S| + ^\.SS\s\S| + ^\.TP(?:\s\d+)?\s*$| + ^\.ti\s\S| + ^\.SM\s*$| + ^\.rs\s*$| + ^\.sp\s*$| + ^\.nf\s*$| + ^\.fi\s*$| + ^\.P\s*$| + ^\.PP\s*$| + ^\.\\"(?:\ HREF)?\s*$| + ^\.\\"\sHTML\s<a\shref="[^"]+?">\s*$| + ^\.\\"\sHTML\s<a\sname="[^"]+?"><\/a>\s*$| + ^\.\\"\s<\/a>\s*$| + ^\.\\"\sJOINSH\s*$| + ^\.\\"\sJOIN\s*$/x + ) + { + printf "Bad control line $line of $file\n"; + $yield = 1; + } + } + else + { + if (/\\[^ef]|\\f[^IBP]/) + { + printf "Bad backslash in line $line of $file\n"; + $yield = 1; + } + } + } + + close(IN); + } + +exit $yield; +# End diff --git a/PrepareRelease b/PrepareRelease index b083095..02b2300 100755 --- a/PrepareRelease +++ b/PrepareRelease @@ -12,6 +12,8 @@ # "knows" the relevant troff constructs that are used in the PCRE # man pages. +# CheckMan A Perl script that checks man pages for typos in the mark up. + # CleanTxt A Perl script that cleans up the output of "nroff -man" by # removing backspaces and other redundant text so as to produce # a readable .txt file. @@ -24,11 +26,20 @@ # doc/html can be deleted and re-created from scratch. -# First, sort out the documentation +# First, sort out the documentation. Remove pcredemo.3 first because it won't +# pass the markup check (it is created below, using markup that none of the +# other pages use). cd doc echo Processing documentation +/bin/rm -f pcredemo.3 + +# Check the remaining man pages + +../CheckMan *.1 *.3 +if [ $? != 0 ] ; then exit 1; fi + # Make Text form of the documentation. It needs some mangling to make it # tidy for online reading. Concatenate all the .3 stuff, but omit the # individual function pages. diff --git a/doc/html/index.html b/doc/html/index.html index d9af7e1..58dfe45 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -1,10 +1,10 @@ <html> -<!-- This is a manually maintained file that is the root of the HTML version of - the PCRE documentation. When the HTML documents are built from the man - page versions, the entire doc/html directory is emptied, this file is then - copied into doc/html/index.html, and the remaining files therein are +<!-- This is a manually maintained file that is the root of the HTML version of + the PCRE documentation. When the HTML documents are built from the man + page versions, the entire doc/html directory is emptied, this file is then + copied into doc/html/index.html, and the remaining files therein are created by the 132html script. ---> +--> <head> <title>PCRE specification</title> </head> @@ -74,11 +74,11 @@ The HTML documentation for PCRE comprises the following pages: </table> <p> -There are also individual pages that summarize the interface for each function +There are also individual pages that summarize the interface for each function in the library: </p> -<table> +<table> <tr><td><a href="pcre_compile.html">pcre_compile</a></td> <td> Compile a regular expression</td></tr> @@ -129,7 +129,7 @@ in the library: <tr><td><a href="pcre_maketables.html">pcre_maketables</a></td> <td> Build character tables in current locale</td></tr> - + <tr><td><a href="pcre_refcount.html">pcre_refcount</a></td> <td> Maintain reference count in compiled pattern</td></tr> diff --git a/doc/html/pcre_compile2.html b/doc/html/pcre_compile2.html index 455eeae..f27fffd 100644 --- a/doc/html/pcre_compile2.html +++ b/doc/html/pcre_compile2.html @@ -31,8 +31,6 @@ DESCRIPTION This function compiles a regular expression into an internal form. It is the same as <b>pcre_compile()</b>, except for the addition of the <i>errorcodeptr</i> argument. The arguments are: -</P> -<P> <pre> <i>pattern</i> A zero-terminated string containing the regular expression to be compiled diff --git a/doc/html/pcrecpp.html b/doc/html/pcrecpp.html index 7b52d92..887c245 100644 --- a/doc/html/pcrecpp.html +++ b/doc/html/pcrecpp.html @@ -282,10 +282,7 @@ is defined in the pcrecpp namespace. Example: read lines of the form "var = value" from a string. string contents = ...; // Fill string somehow pcrecpp::StringPiece input(contents); // Wrap in a StringPiece -</PRE> -</P> -<P> -<pre> + string var; int value; pcrecpp::RE re("(\\w+) = (\\d+)\n"); diff --git a/doc/html/pcregrep.html b/doc/html/pcregrep.html index f568e52..7a03b7c 100644 --- a/doc/html/pcregrep.html +++ b/doc/html/pcregrep.html @@ -379,7 +379,7 @@ when processing patterns that are not going to match, but which have a very large number of possibilities in their search trees. The classic example is a pattern that uses nested unlimited repeats. Internally, PCRE uses a function called <b>match()</b> which it calls repeatedly (sometimes recursively). The -limit set by \fb--match-limit\fP is imposed on the number of times this +limit set by <b>--match-limit</b> is imposed on the number of times this function is called during a match, which has the effect of limiting the amount of backtracking that can take place. <br> @@ -33,7 +33,7 @@ PCRE distribution. The \fBpcrecpp\fP .\" page has details of this interface. Other people's contributions can be found -in the \fIContrib\fR directory at the primary FTP site, which is: +in the \fIContrib\fP directory at the primary FTP site, which is: .sp .\" HTML <a href="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre"> .\" </a> @@ -42,22 +42,22 @@ ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre Details of exactly which Perl regular expression features are and are not supported by PCRE are given in separate documents. See the .\" HREF -\fBpcrepattern\fR +\fBpcrepattern\fP .\" and .\" HREF -\fBpcrecompat\fR +\fBpcrecompat\fP .\" pages. There is a syntax summary in the .\" HREF -\fBpcresyntax\fR +\fBpcresyntax\fP .\" page. .P Some features of PCRE can be included, excluded, or changed when the library is built. The .\" HREF -\fBpcre_config()\fR +\fBpcre_config()\fP .\" function makes it possible for a client to discover which features are available. The features themselves are described in the diff --git a/doc/pcre.txt b/doc/pcre.txt index 5d769df..081d023 100644 --- a/doc/pcre.txt +++ b/doc/pcre.txt @@ -2,7 +2,7 @@ This file contains a concatenation of the PCRE man pages, converted to plain text format for ease of searching with a text editor, or for use on systems that do not have a man page processor. The small individual files that give -synopses of each function in the library have not been included. Neither has +synopses of each function in the library have not been included. Neither has the pcredemo program. There are separate text files for the pcregrep and pcretest commands. ----------------------------------------------------------------------------- @@ -269,8 +269,8 @@ REVISION Last updated: 13 November 2010 Copyright (c) 1997-2010 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCREBUILD(3) PCREBUILD(3) @@ -600,8 +600,8 @@ REVISION Last updated: 29 September 2009 Copyright (c) 1997-2009 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCREMATCHING(3) PCREMATCHING(3) @@ -804,8 +804,8 @@ REVISION Last updated: 17 November 2010 Copyright (c) 1997-2010 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCREAPI(3) PCREAPI(3) @@ -2877,8 +2877,8 @@ REVISION Last updated: 21 November 2010 Copyright (c) 1997-2010 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRECALLOUT(3) PCRECALLOUT(3) @@ -3059,8 +3059,8 @@ REVISION Last updated: 21 November 2010 Copyright (c) 1997-2010 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRECOMPAT(3) PCRECOMPAT(3) @@ -3215,8 +3215,8 @@ REVISION Last updated: 31 October 2010 Copyright (c) 1997-2010 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCREPATTERN(3) PCREPATTERN(3) @@ -5694,8 +5694,8 @@ REVISION Last updated: 21 November 2010 Copyright (c) 1997-2010 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRESYNTAX(3) PCRESYNTAX(3) @@ -6064,8 +6064,8 @@ REVISION Last updated: 21 November 2010 Copyright (c) 1997-2010 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCREPARTIAL(3) PCREPARTIAL(3) @@ -6484,8 +6484,8 @@ REVISION Last updated: 07 November 2010 Copyright (c) 1997-2010 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCREPRECOMPILE(3) PCREPRECOMPILE(3) @@ -6512,6 +6512,7 @@ SAVING AND RE-USING PRECOMPILED PCRE PATTERNS SAVING A COMPILED PATTERN + The value returned by pcre_compile() points to a single block of memory that holds the compiled pattern and associated data. You can find the length of this block in bytes by calling pcre_fullinfo() with an argu- @@ -6608,8 +6609,8 @@ REVISION Last updated: 17 November 2010 Copyright (c) 1997-2010 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCREPERFORM(3) PCREPERFORM(3) @@ -6776,8 +6777,8 @@ REVISION Last updated: 16 May 2010 Copyright (c) 1997-2010 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCREPOSIX(3) PCREPOSIX(3) @@ -7039,8 +7040,8 @@ REVISION Last updated: 16 May 2010 Copyright (c) 1997-2010 University of Cambridge. ------------------------------------------------------------------------------ - - + + PCRECPP(3) PCRECPP(3) @@ -7380,8 +7381,8 @@ REVISION Last updated: 17 March 2009 ------------------------------------------------------------------------------ - - + + PCRESAMPLE(3) PCRESAMPLE(3) @@ -7616,5 +7617,5 @@ REVISION Last updated: 03 January 2010 Copyright (c) 1997-2010 University of Cambridge. ------------------------------------------------------------------------------ - - + + diff --git a/doc/pcre_compile.3 b/doc/pcre_compile.3 index f0861d7..03b3a32 100644 --- a/doc/pcre_compile.3 +++ b/doc/pcre_compile.3 @@ -20,12 +20,12 @@ This function compiles a regular expression into an internal form. It is the same as \fBpcre_compile2()\fP, except for the absence of the \fIerrorcodeptr\fP argument. Its arguments are: .sp - \fIpattern\fR A zero-terminated string containing the + \fIpattern\fP A zero-terminated string containing the regular expression to be compiled - \fIoptions\fR Zero or more option bits - \fIerrptr\fR Where to put an error message - \fIerroffset\fR Offset in pattern where error was found - \fItableptr\fR Pointer to character tables, or NULL to + \fIoptions\fP Zero or more option bits + \fIerrptr\fP Where to put an error message + \fIerroffset\fP Offset in pattern where error was found + \fItableptr\fP Pointer to character tables, or NULL to use the built-in default .sp The option bits are: @@ -69,10 +69,10 @@ version is not guaranteed to work and may cause crashes. .P There is a complete description of the PCRE native API in the .\" HREF -\fBpcreapi\fR +\fBpcreapi\fP .\" page and a description of the POSIX API in the .\" HREF -\fBpcreposix\fR +\fBpcreposix\fP .\" page. diff --git a/doc/pcre_compile2.3 b/doc/pcre_compile2.3 index 907e8ff..f0c5c3d 100644 --- a/doc/pcre_compile2.3 +++ b/doc/pcre_compile2.3 @@ -21,15 +21,15 @@ PCRE - Perl-compatible regular expressions This function compiles a regular expression into an internal form. It is the same as \fBpcre_compile()\fP, except for the addition of the \fIerrorcodeptr\fP argument. The arguments are: - +. .sp - \fIpattern\fR A zero-terminated string containing the + \fIpattern\fP A zero-terminated string containing the regular expression to be compiled - \fIoptions\fR Zero or more option bits + \fIoptions\fP Zero or more option bits \fIerrorcodeptr\fP Where to put an error code - \fIerrptr\fR Where to put an error message - \fIerroffset\fR Offset in pattern where error was found - \fItableptr\fR Pointer to character tables, or NULL to + \fIerrptr\fP Where to put an error message + \fIerroffset\fP Offset in pattern where error was found + \fItableptr\fP Pointer to character tables, or NULL to use the built-in default .sp The option bits are: @@ -73,10 +73,10 @@ version is not guaranteed to work and may cause crashes. .P There is a complete description of the PCRE native API in the .\" HREF -\fBpcreapi\fR +\fBpcreapi\fP .\" page and a description of the POSIX API in the .\" HREF -\fBpcreposix\fR +\fBpcreposix\fP .\" page. diff --git a/doc/pcre_config.3 b/doc/pcre_config.3 index b111a70..d8e1658 100644 --- a/doc/pcre_config.3 +++ b/doc/pcre_config.3 @@ -16,8 +16,8 @@ This function makes it possible for a client program to find out which optional features are available in the version of the PCRE library it is using. Its arguments are as follows: .sp - \fIwhat\fR A code specifying what information is required - \fIwhere\fR Points to where to put the data + \fIwhat\fP A code specifying what information is required + \fIwhere\fP Points to where to put the data .sp The available codes are: .sp @@ -36,7 +36,7 @@ The available codes are: 1 CR, LF, or CRLF only PCRE_CONFIG_POSIX_MALLOC_THRESHOLD Threshold of return slots, above - which \fBmalloc()\fR is used by + which \fBmalloc()\fP is used by the POSIX API PCRE_CONFIG_STACKRECURSE Recursion implementation (1=stack 0=heap) PCRE_CONFIG_UTF8 Availability of UTF-8 support (1=yes 0=no) @@ -48,10 +48,10 @@ The function yields 0 on success or PCRE_ERROR_BADOPTION otherwise. .P There is a complete description of the PCRE native API in the .\" HREF -\fBpcreapi\fR +\fBpcreapi\fP .\" page and a description of the POSIX API in the .\" HREF -\fBpcreposix\fR +\fBpcreposix\fP .\" page. diff --git a/doc/pcrecpp.3 b/doc/pcrecpp.3 index fa8c558..62f19ae 100644 --- a/doc/pcrecpp.3 +++ b/doc/pcrecpp.3 @@ -195,11 +195,11 @@ which returns true if the modifier is set, and RE_Options & set_caseless(bool) .sp which sets or unsets the modifier. Moreover, PCRE_EXTRA_MATCH_LIMIT can be -accessed through the \fBset_match_limit()\fR and \fBmatch_limit()\fR member -functions. Setting \fImatch_limit\fR to a non-zero value will limit the +accessed through the \fBset_match_limit()\fP and \fBmatch_limit()\fP member +functions. Setting \fImatch_limit\fP to a non-zero value will limit the execution of pcre to keep it from doing bad things like blowing the stack or taking an eternity to return a result. A value of 5000 is good enough to stop -stack blowup in a 2MB thread stack. Setting \fImatch_limit\fR to zero disables +stack blowup in a 2MB thread stack. Setting \fImatch_limit\fP to zero disables match limiting. Alternatively, you can call \fBmatch_limit_recursion()\fP which uses PCRE_EXTRA_MATCH_LIMIT_RECURSION to limit how much PCRE recurses. \fBmatch_limit()\fP limits the number of matches PCRE does; @@ -207,7 +207,7 @@ recurses. \fBmatch_limit()\fP limits the number of matches PCRE does; therefore the amount of stack that is used. .P Normally, to pass one or more modifiers to a RE class, you declare -a \fIRE_Options\fR object, set the appropriate options, and pass this +a \fIRE_Options\fP object, set the appropriate options, and pass this object to a RE constructor. Example: .sp RE_options opt; @@ -216,7 +216,7 @@ object to a RE constructor. Example: .sp RE_options has two constructors. The default constructor takes no arguments and creates a set of flags that are off by default. The optional parameter -\fIoption_flags\fR is to facilitate transfer of legacy code from C programs. +\fIoption_flags\fP is to facilitate transfer of legacy code from C programs. This lets you do .sp RE(pattern, @@ -230,13 +230,13 @@ However, new code is better off doing .sp If you are going to pass one of the most used modifiers, there are some convenience functions that return a RE_Options class with the -appropriate modifier already set: \fBCASELESS()\fR, \fBUTF8()\fR, -\fBMULTILINE()\fR, \fBDOTALL\fR(), and \fBEXTENDED()\fR. +appropriate modifier already set: \fBCASELESS()\fP, \fBUTF8()\fP, +\fBMULTILINE()\fP, \fBDOTALL\fP(), and \fBEXTENDED()\fP. .P If you need to set several options at once, and you don't want to go through the pains of declaring a RE_Options object and setting several options, there is a parallel method that give you such ability on the fly. You can concatenate -several \fBset_xxxxx()\fR member functions, since each of them returns a +several \fBset_xxxxx()\fP member functions, since each of them returns a reference to its class object. For example, to pass PCRE_CASELESS, PCRE_EXTENDED, and PCRE_MULTILINE to a RE with one statement, you may write: .sp @@ -260,7 +260,7 @@ is defined in the pcrecpp namespace. Example: read lines of the form "var = value" from a string. string contents = ...; // Fill string somehow pcrecpp::StringPiece input(contents); // Wrap in a StringPiece - +.sp string var; int value; pcrecpp::RE re("(\e\ew+) = (\e\ed+)\en"); diff --git a/doc/pcregrep.1 b/doc/pcregrep.1 index 430e54a..995ce05 100644 --- a/doc/pcregrep.1 +++ b/doc/pcregrep.1 @@ -319,7 +319,7 @@ when processing patterns that are not going to match, but which have a very large number of possibilities in their search trees. The classic example is a pattern that uses nested unlimited repeats. Internally, PCRE uses a function called \fBmatch()\fP which it calls repeatedly (sometimes recursively). The -limit set by \fb--match-limit\fP is imposed on the number of times this +limit set by \fB--match-limit\fP is imposed on the number of times this function is called during a match, which has the effect of limiting the amount of backtracking that can take place. .sp diff --git a/doc/pcreprecompile.3 b/doc/pcreprecompile.3 index c04af24..6b878fa 100644 --- a/doc/pcreprecompile.3 +++ b/doc/pcreprecompile.3 @@ -24,7 +24,7 @@ guaranteed to work and may cause crashes. . .SH "SAVING A COMPILED PATTERN" .rs -.sh +.sp The value returned by \fBpcre_compile()\fP points to a single block of memory that holds the compiled pattern and associated data. You can find the length of this block in bytes by calling \fBpcre_fullinfo()\fP with an argument of diff --git a/maint/README b/maint/README index 40a0a3a..2705c01 100644 --- a/maint/README +++ b/maint/README @@ -35,12 +35,12 @@ MultiStage2.py A Python script that generates the file pcre_ucd.c from three Unicode web site. Run this script in the "maint" directory. The generated file contains the tables for a 2-stage lookup of Unicode properties. - + pcre_chartables.c.non-standard This is a set of character tables that came from a Windows system. It has characters greater than 128 that are set as spaces, amongst other things. I kept it so that it can be - used for testing from time to time. + used for testing from time to time. README This file. @@ -117,33 +117,34 @@ distribution for a new release. . Test with valgrind by running "RunTest valgrind". There is also "RunGrepTest valgrind", though that takes quite a long time. -. Test with the emulated memmove() function by undefining HAVE_MEMMOVE and - HAVE_BCOPY in config.h. You may see a number of "pcre_memmove defined but not - used" warnings for the modules in which there is no call to memmove(). These - can be ignored. +. It is possible to test with the emulated memmove() function by undefining + HAVE_MEMMOVE and HAVE_BCOPY in config.h, though I do not do this often. You + may see a number of "pcre_memmove defined but not used" warnings for the + modules in which there is no call to memmove(). These can be ignored. . Documentation: check AUTHORS, COPYING, ChangeLog (check version and date), INSTALL, LICENCE, NEWS (check version and date), NON-UNIX-USE, and README. Many of these won't need changing, but over the long term things do change. -. Man pages: Check all man pages for \ not followed by e or f or " because - that indicates a markup error. However, there is one exception: pcredemo.3, - which is created from the pcredemo.c program. It contains three instances - of \\n. - -. When the release is built, test it on a number of different operating - systems if possible, and using different compilers as well. For example, - on Solaris it is helpful to test using Sun's cc compiler as a change from - gcc. Adding -xarch=v9 to the cc options does a 64-bit test, but it also - needs -S 64 for pcretest to increase the stack size for test 2. +. I used to test new releases myself on a number of different operating + systems, using different compilers as well. For example, on Solaris it is + helpful to test using Sun's cc compiler as a change from gcc. Adding + -xarch=v9 to the cc options does a 64-bit test, but it also needs -S 64 for + pcretest to increase the stack size for test 2. Since I retired I can no + longer do this, but instead I rely on putting out release candidates for + folks on the pcre-dev list to test. Making a PCRE release ===================== Run PrepareRelease and commit the files that it changes (by removing trailing -spaces). Then run "make distcheck" to create the tarballs and the zipball. -Double-check with "svn status", then create an SVN tagged copy: +spaces). The first thing this script does is to run CheckMan on the man pages; +if it finds any markup errors, it reports them and then aborts. + +Once PrepareRelease has run clean, run "make distcheck" to create the tarballs +and the zipball. Double-check with "svn status", then create an SVN tagged +copy: svn copy svn://vcs.exim.org/pcre/code/trunk \ svn://vcs.exim.org/pcre/code/tags/pcre-8.xx @@ -204,17 +205,22 @@ others are relatively new. . Unicode + * There has been a request for direct support of 16-bit characters and + UTF-16 (Bugzilla #1049). However, since Unicode is moving beyond purely + 16-bit characters, is this worth it at all? One possible way of handling + 16-bit characters would be to "load" them in the same way that UTF-8 + characters are loaded. Another possibility is to provide a set of + translation functions, and build an index during translation so that the + returned offsets can automatically be translated (using the index) after a + match. + * A different approach to Unicode might be to use a typedef to do everything in unsigned shorts instead of unsigned chars. Actually, we'd have to have a new typedef to distinguish data from bits of compiled pattern that are in bytes, I think. There would need to be conversion functions in and out. I don't think this is particularly trivial - and anyway, Unicode now has - characters that need more than 16 bits, so is this at all sensible? - - * There has been a request for direct support of 16-bit characters and - UTF-16. However, since Unicode is moving beyond purely 16-bit characters, - is this worth it at all? One possible way of handling 16-bit characters - would be to "load" them in the same way that UTF-8 characters are loaded. + characters that need more than 16 bits, so is this at all sensible? I + suspect not. . Allow errorptr and erroroffset to be NULL. I don't like this idea. @@ -315,4 +321,4 @@ others are relatively new. Philip Hazel Email local part: ph10 Email domain: cam.ac.uk -Last updated: 24 November 2010 +Last updated: 12 January 2011 |