Commit Graph

43 Commits

Author SHA1 Message Date
Vincent Sanders
aa5090c85b move utf8 header into public API 2016-05-30 11:20:15 +01:00
Vincent Sanders
c105738fa3 Change LOG() macro to be varadic
This changes the LOG macro to be varadic removing the need for all
callsites to have double bracketing and allows for future improvement
on how we use the logging macros.

The callsites were changed with coccinelle and the changes checked by
hand. Compile tested for several frontends but not all.

A formatting annotation has also been added which allows the compiler
to check the parameters and types passed to the logging.
2015-05-28 16:08:46 +01:00
Vincent Sanders
d06df231bc Update the core to use the split operations table headers
Second in the series to decouple the core API usage from the frontends.
2014-10-16 22:33:43 +01:00
Vincent Sanders
39518eb3c1 fix possible buffer termination error (coverity 1195410) 2014-05-18 10:44:51 +01:00
Vincent Sanders
d3ddb39102 fix possible missing null termination (coverity 1195410 and 1195411 ) 2014-05-11 23:29:55 +01:00
Vincent Sanders
886a3106db move utf8 local conversion operations to table 2014-02-01 22:17:36 +00:00
Vincent Sanders
654da2ffb5 move utf8 conversion routines to use nserror instead of their own error enum 2014-01-28 21:40:13 +00:00
Vincent Sanders
f29306cc9a improve gtk source save to use gtk overwrite protection feature coverity 1109873 2013-10-25 21:25:56 +01:00
Michael Drake
023c014ac4 Tidy up cached descriptor usage and ensure "shrink-wrap" realloc call only ever has to shrink. 2013-05-15 23:30:01 +01:00
Michael Drake
51a5febad7 Cache conversion descriptor since this func. is called many times in series for the same conversion. (UTF-8 --> iso-8859-1) 2013-05-15 22:13:30 +01:00
Michael Drake
c3f21572ed Add function to get the byte length of n characters in a utf8 string. 2013-03-17 22:01:42 +00:00
Michael Drake
c2a718075a A load of refactoring of how content selection and input work.
Keypresses now go via content interface.
Contents don't shove the selection object into browser windows any more.
Contents report selection existence by sending message.
HTML content keeps track of where selections in it exist.
Contents report whether they have input focus via caret setting msg.
Caret can be hidden (can still input/paste) or removed.
Consolidate textarea selection handling.
Make textarea report its selection status changes to client.
Various textarea fixes.
Changed how we decide when to clear selections, and give focus.
2013-02-22 12:19:35 +00:00
John-Mark Bell
ea3f09a724 Correctly emit entities when serialising to HTML. 2012-12-30 23:37:06 +00:00
Vincent Sanders
5800789df2 trivial docuemntation cleanups to address some of the huge number of docuemntation warnings 2012-10-08 14:52:24 +01:00
John Mark Bell
f71dcf9667 Further hackery for the inconsistency of iconv() APIs
svn path=/trunk/netsurf/; revision=11951
2011-03-09 21:30:54 +00:00
Vincent Sanders
03bb3e8636 remove _GNU_SOURCE define from everywhere.
strndup is not standard so provide an implementation.

svn path=/trunk/netsurf/; revision=10474
2010-04-24 15:22:17 +00:00
John Mark Bell
daf7a52dd6 Hubbub is no longer optional.
Remove libxml2 parser binding.

svn path=/trunk/netsurf/; revision=7115
2009-04-17 00:54:27 +00:00
John Mark Bell
a3fecdf1fc Squash leak
svn path=/trunk/netsurf/; revision=6561
2009-02-18 14:10:35 +00:00
John Mark Bell
abb231b633 Fix ucs4->utf8 conversion. It probably helps to return the number of bytes in the buffer, rather than the free space.
svn path=/trunk/netsurf/; revision=6558
2009-02-18 12:53:44 +00:00
John Mark Bell
41d2eca3b1 Port our UTF-8 routines to parserutils (only enabled when building against Hubbub).
Sync our temporary internal copies of these functions with parserutils (which is rather better tested and fixes a number of known bugs in NetSurf's previous UTF-8 handling).
Ideally, this will be the only place in NetSurf that has any dependency on parserutils, so port the amiga font code to our internal APIs.

svn path=/trunk/netsurf/; revision=6550
2009-02-17 23:44:17 +00:00
Chris Young
3a788f0af2 Removed some debug which was supposed to be temporary.
svn path=/trunk/netsurf/; revision=5219
2008-08-29 18:19:06 +00:00
John Mark Bell
e11fe86d73 Looks like I mis-remembered the API here.
Also check for memory exhaustion.

svn path=/trunk/netsurf/; revision=5207
2008-08-26 06:21:10 +00:00
Chris Young
553c4aac8b Prevent iconv() being passed an empty string in utf8_convert()
svn path=/trunk/netsurf/; revision=5202
2008-08-26 00:53:02 +00:00
John Mark Bell
25018c455b Make nsgtk compile on Mac OS X.
svn path=/trunk/netsurf/; revision=5031
2008-08-11 16:44:12 +00:00
François Revel
d432e7f868 Remove hardcoded define for LIBICONV_PLUG
svn path=/trunk/netsurf/; revision=4967
2008-08-08 23:49:45 +00:00
John Tytgat
62d2e47936 Avoid magic numbers.
svn path=/trunk/netsurf/; revision=3907
2008-03-09 16:34:57 +00:00
John Mark Bell
1cf46a6792 SignednessWarnings.squash()
Aside from a number of instances of const being cast away (mostly relating to the urldb, which is correct to only export const data) this now builds warning-free with GCC 4 on x86, which is nice.

svn path=/trunk/netsurf/; revision=3868
2008-02-25 17:58:00 +00:00
Vincent Sanders
2f864eeecc Update all source code file headers to reflect GPL version 2 only and contain appropriate licence text
svn path=/trunk/netsurf/; revision=3486
2007-08-08 16:16:03 +00:00
Rob Kendrick
43257a160b Changes to allow building on Solaris.
* Tested on Solaris Express: Developer Edition,
          which is between Solaris 10 and 11.
        * Used gcc, libmng etc packages using pkg-get and blastwave's resources.
        * Had to build lemon and re2c manually.

svn path=/trunk/netsurf/; revision=3350
2007-06-15 22:07:11 +00:00
Daniel Silverstone
6807b4208a Remove the netsurf/ from the include paths and rationalise use of <> vs "" in includes
NetSurf includes are now done with ""s and other system includes with <>s as C intended.
The scandeps tool has been updated to only look for ""ed includes, and to verify that the
files exist in the tree before adding them to the dependency lines. The depend rule has
therefore been augmented to make sure the autogenerated files are built before it is run.

This is untested under self-hosted RISC OS builds. All else tested and works.


svn path=/trunk/netsurf/; revision=3307
2007-05-30 22:39:54 +00:00
Michael Drake
ba23e4b693 Update project URL.
svn path=/trunk/netsurf/; revision=3073
2006-11-27 15:35:18 +00:00
Daniel Silverstone
da16158c0a [project @ 2006-03-16 23:30:46 by dsilvers]
Fix another assumption that freeing/dupping/whatever a NULL is safe.

svn path=/import/netsurf/; revision=2132
2006-03-16 23:30:46 +00:00
John Mark Bell
6b6841f07e [project @ 2006-02-11 18:11:09 by jmb]
Clear cached conversion descriptor if iconv() fails

svn path=/import/netsurf/; revision=2071
2006-02-11 18:11:09 +00:00
James Bursa
4af7520647 [project @ 2005-08-20 23:04:35 by bursa]
Fix strndup() warnings.

svn path=/import/netsurf/; revision=1850
2005-08-20 23:04:35 +00:00
Adrian Lees
77f1158f6b [project @ 2005-07-16 16:15:37 by adrianl]
Faster utf8 next/prev functions

svn path=/import/netsurf/; revision=1797
2005-07-16 16:15:37 +00:00
John Mark Bell
46bc8ca154 [project @ 2005-07-11 18:10:10 by jmb]
Cache previous iconv conversion descriptor

svn path=/import/netsurf/; revision=1792
2005-07-11 18:10:10 +00:00
James Bursa
21e5d8ca15 [project @ 2005-07-02 18:18:48 by bursa]
Fix file comment for Doxygen.

svn path=/import/netsurf/; revision=1778
2005-07-02 18:18:48 +00:00
John Mark Bell
b81b983b36 [project @ 2005-07-02 14:35:43 by jmb]
Tidy up

svn path=/import/netsurf/; revision=1773
2005-07-02 14:35:43 +00:00
John Mark Bell
ed5a93caad [project @ 2005-06-28 23:46:16 by jmb]
Using Iconv to convert between an encoding and itself is pretty pointless.

svn path=/import/netsurf/; revision=1772
2005-06-28 23:46:16 +00:00
John Mark Bell
0bcfdbeb50 [project @ 2005-06-07 21:29:26 by jmb]
Lose cnv_str_local_enc and friends.
UTF-8 conversion functions now return an enumerated type allowing for fallbacks, if appropriate.

svn path=/import/netsurf/; revision=1744
2005-06-07 21:29:26 +00:00
John Mark Bell
fd99b1e906 [project @ 2005-05-23 22:27:37 by jmb]
Tighten up entry conditions

svn path=/import/netsurf/; revision=1735
2005-05-23 22:27:37 +00:00
Adrian Lees
f10db1f6f1 [project @ 2005-04-16 08:19:56 by adrianl]
missing #include

svn path=/import/netsurf/; revision=1651
2005-04-16 08:20:20 +00:00
John Mark Bell
c17dc661ea [project @ 2005-04-16 05:09:32 by jmb]
Split out UTF-8 handling functions.
Submit URL-encoded forms in sensible encoding:
  * First entry in accept-charset list, if present
  * Document encoding, otherwise
  We may want to explicitly look for UTF-8, to save converting.
Convert cnv_str_local_enc/cnv_local_enc_str to use iconv (they're now veneers for utf8_[to/from]_enc).
Provide mechanism for looking up local system charset (derived from system alphabet, under RISC OS)

svn path=/import/netsurf/; revision=1647
2005-04-16 05:09:33 +00:00