Commit Graph

81 Commits

Author SHA1 Message Date
John Mark Bell
000e6ad3de It turns out that realloc(ptr, 0) --> free(ptr) is not actually required by the C standard (whereas realloc(NULL, size) --> malloc(size) is).
Therefore, explicitly model the behaviour expected by our libraries (that realloc of 0 size is equivalent to free).

svn path=/trunk/netsurf/; revision=10524
2010-04-30 07:00:58 +00:00
John Mark Bell
2276afb9f6 Log any remaining interned strings (there should be none)
svn path=/trunk/netsurf/; revision=10502
2010-04-27 22:14:52 +00:00
John Mark Bell
0de2013f25 Clean up caches on exit
svn path=/trunk/netsurf/; revision=10494
2010-04-27 06:48:09 +00:00
John Mark Bell
ad8d0b3350 Handle llcache queries (GTK only for now)
svn path=/trunk/netsurf/; revision=10403
2010-04-14 23:03:49 +00:00
John Mark Bell
9e8849c04c Take the easy way out wrt loading messages files: leave it to the RISC OS frontend to do this.
svn path=/trunk/netsurf/; revision=10374
2010-04-11 22:40:41 +00:00
John Mark Bell
71de3618f1 Implement hlcache_poll(), which drives the low-level cache event loop, and attempts to clean the high-level cache.
Call this, instead of llcache_poll().

svn path=/trunk/netsurf/; revision=10371
2010-04-11 20:21:13 +00:00
Chris Young
103998165a Revert previous change
svn path=/trunk/netsurf/; revision=10215
2010-03-30 18:20:48 +00:00
Chris Young
9b9c26b569 Avoid crash if pargc is NULL. This might happen, for example, when launching NetSurf
from Workbench under AmigaOS :)

svn path=/trunk/netsurf/; revision=10214
2010-03-30 18:14:40 +00:00
Vincent Sanders
e00fb7bd2d second pass at startup refactor removing the gui_init callback
svn path=/trunk/netsurf/; revision=10205
2010-03-29 20:03:44 +00:00
Vincent Sanders
7e67527267 first part of initialisation refactor move gui_init2 into frontends
svn path=/trunk/netsurf/; revision=10202
2010-03-29 16:59:30 +00:00
Daniel Silverstone
cb7412181f Replace fetch_poll with llcache_poll throughout. Allow CONTENT_OTHER to complete properly.
svn path=/trunk/netsurf/; revision=10187
2010-03-28 16:00:54 +00:00
Daniel Silverstone
05a4eceae2 Remove fetchcache.[ch]
svn path=/trunk/netsurf/; revision=10183
2010-03-28 15:34:07 +00:00
Daniel Silverstone
270ef59a98 Merge jmb/new-cache; r=dsilvers,rs=vince
svn path=/trunk/netsurf/; revision=10180
2010-03-28 12:56:39 +00:00
Vincent Sanders
55162445db Add Windows frontend
svn path=/trunk/netsurf/; revision=9940
2010-01-31 00:36:02 +00:00
Vincent Sanders
e01d93f344 Refactor main into the frontends
remove unused embedded global

svn path=/trunk/netsurf/; revision=9851
2010-01-20 20:32:30 +00:00
Rob Kendrick
c72b3cf71a OpenBSD 4.4 compilation fixes. Does not deal with lack of -Wextra or -Wstrict-aliasing for lpu or hubbub.
svn path=/trunk/netsurf/; revision=6673
2009-03-02 19:26:11 +00:00
François Revel
e4407cd7e9 Had to split main() into parts to have netsurf_init() called from one thread, and the loop in another to avoid a deadlock in replicants... hope nobody minds.
svn path=/trunk/netsurf/; revision=5586
2008-10-16 20:49:12 +00:00
François Revel
6330f8e475 Have netsurf_main() do the real work and main() call it. This allows ports to call it from elsewhere to embed NetSurf in another application.
The netsurf_embedded bool remembers it for later (like, we shouldn't probably save the hotlist and preferences in that case).

svn path=/trunk/netsurf/; revision=5579
2008-10-16 11:10:43 +00:00
John Mark Bell
6c49f1fcd5 r4153 was mostly right. It does help, however, if you actually force the locale to "C" in the first place. The issues listed in the commit log for r4153 still apply. This should fix the core's parsing of floats in locales that use something other than '.' as the decimal separator.
svn path=/trunk/netsurf/; revision=5568
2008-10-13 23:32:21 +00:00
Rob Kendrick
e7c5e16b9b Performance improvements: rather than calling content_clean() every poll, we now call it no more frequently than once every 5 seconds. Additionally, we cache the result of talloc_total_size() in content_clean() rather than calculating it twice. On large documents, this function took 25% of CPU time. This makes the fetching/rendering/scrolling/redrawing of large documents over twice as fast.
svn path=/trunk/netsurf/; revision=4527
2008-07-07 14:05:29 +00:00
John Mark Bell
23fb72ea6b The core code has always assumed a locale of "C".
Do not change the locale globally, else things will break in weird and 
wonderful ways.

Introduce utils/locale.[ch], which provide locale-specific wrappers for various 
functions (currently just the <ctype.h> ones).

Fix up the few places I can see that actually require that the underlying 
locale is paid attention to.

Some notes:

  1) The GTK frontend code has not been touched. It is possible that reading of 
     numeric values (e.g. from the preferences dialogue) may break with this 
     change, particularly in locales that use something other than '.' as their
     decimal separator.
  2) The search code is left unchanged (i.e. assuming a locale of "C"). 
     This may break case insensitive matching of non-ASCII characters. 
     I doubt that ever actually worked, anyway. In future, it should use
     Unicode case conversion to achieve the same effect.
  3) The text input handling in the core makes use of isspace() to detect
     word boundaries. This is fine for western languages (even in the C locale,
     which it's currently assuming). It will, however, break for CJK et. al. 
     (this has always been the case, rather than being a new issue)
  4) text-transform uses locale-specific variants of to{lower,upper}. In future
     this should probably be performing Unicode case conversion. This is the
     only part of the core code that makes use of locale information.

In future, if you require locale-specific behaviour, do the following:

  setlocale(LC_<whatever>, "");
  <your operation(s) here>
  setlocale(LC_<whatever>, "C");

  The first setlocale will change the current locale to the native environment.
  The second setlocale will reset the current locale to "C".
  Any value other than "" or "C" is probably a bug, unless there's a really
  good reason for it.

In the long term, it is expected that all locale-dependent code will reside in 
platform frontends -- the core being wholly locale agnostic (though assuming 
"C" for things like decimal separators).


svn path=/trunk/netsurf/; revision=4153
2008-05-13 14:37:44 +00:00
John Mark Bell
74a1095cd6 Remove unnecessary includes
svn path=/trunk/netsurf/; revision=4144
2008-05-11 10:09:44 +00:00
John Mark Bell
ae3555ccdd Fixes for targetting NetBSD (Thanks to Adam Hoka)
svn path=/trunk/netsurf/; revision=3775
2008-01-26 16:44:17 +00:00
John Mark Bell
6eeeee1778 Ignore SIGPIPE on all platforms, not just RISC OS.
svn path=/trunk/netsurf/; revision=3638
2007-10-31 15:39:55 +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
Daniel Silverstone
25e22eb1f5 Add a -v option to enable debug logging. Pass -v by default to the RO runimage.
svn path=/trunk/netsurf/; revision=3306
2007-05-30 22:27:58 +00:00
James Bursa
73281a7add Log libxml2 version in lib_init().
svn path=/trunk/netsurf/; revision=3268
2007-05-06 06:11:00 +00:00
John Mark Bell
9e96993474 Revert r3156 (content cleaner frequency reduction) as it introduces
potential stability issues.

svn path=/trunk/netsurf/; revision=3160
2007-01-31 00:02:38 +00:00
John Mark Bell
f3e6ad3e90 Attempt to perform content cleaning far less frequently.
svn path=/trunk/netsurf/; revision=3156
2007-01-30 00:44:53 +00:00
John Mark Bell
5b3f0755f6 Add URLdb destruction functionality
svn path=/trunk/netsurf/; revision=3115
2006-12-08 22:38:46 +00:00
Michael Drake
ba23e4b693 Update project URL.
svn path=/trunk/netsurf/; revision=3073
2006-11-27 15:35:18 +00:00
Richard Wilson
74fa727509 Experimental new frames code.
svn path=/trunk/netsurf/; revision=2906
2006-09-02 15:52:41 +00:00
John Mark Bell
a63221a624 Rewrite cookie parser to be more tolerant of junk input
No longer need urldb_init; remove it.

svn path=/trunk/netsurf/; revision=2643
2006-06-24 15:44:48 +00:00
John Mark Bell
4f249f9d0a Merge cookies changes into head - unvalidated transactions and a UI
still need implementing.

svn path=/trunk/netsurf/; revision=2632
2006-06-19 21:49:25 +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
Richard Wilson
350247a0f2 [project @ 2005-02-07 23:00:09 by rjw]
Stop toolbar scrolling by 1px, make theme saving use leafnames, improve error handling

svn path=/import/netsurf/; revision=1499
2005-02-07 23:00:09 +00:00
Richard Wilson
12de122415 [project @ 2005-02-07 14:17:35 by rjw]
Stop crashes during buffered rendering freezing RISC OS

svn path=/import/netsurf/; revision=1494
2005-02-07 14:17:35 +00:00
John Mark Bell
5802723281 [project @ 2004-09-27 05:21:00 by jmb]
Improve !Boot file and support protocol fallback positions.

svn path=/import/netsurf/; revision=1287
2004-09-27 05:21:00 +00:00
John Tytgat
6b46a8d916 [project @ 2004-08-26 22:59:02 by joty]
die() doesn't need extra ().

svn path=/import/netsurf/; revision=1252
2004-08-26 22:59:02 +00:00
James Bursa
54d25de371 [project @ 2004-07-30 16:16:07 by bursa]
Implement content_quit() and ro_gui_window_quit() to free resources on quit.

svn path=/import/netsurf/; revision=1164
2004-07-30 16:16:07 +00:00
James Bursa
0f7e16c04f [project @ 2004-07-28 23:07:52 by bursa]
Implement gui_init2() and move RISC OS-specific code in main() to it. Use intro page if option_homepage_url is "".

svn path=/import/netsurf/; revision=1158
2004-07-28 23:07:52 +00:00
James Bursa
b65c4d4102 [project @ 2004-07-28 22:38:17 by bursa]
Renamed curl_memdebug() to memdebug_memdebug().

svn path=/import/netsurf/; revision=1157
2004-07-28 22:38:17 +00:00
Andrew Timmins
b59616c9ab [project @ 2004-07-26 20:13:45 by atimmins]
Updated to support new config options (homepage, open on startup).  Bug fixes with new config pane window (sticky selected radio icon bug!).  Also includes up-to-date French templates.

svn path=/import/netsurf/; revision=1150
2004-07-26 20:13:45 +00:00
John Mark Bell
c4b561e841 [project @ 2004-07-18 22:57:22 by jmb]
Remove unnecessary declaration of external function.

svn path=/import/netsurf/; revision=1100
2004-07-18 22:57:22 +00:00
Andrew Timmins
86f60c4c0a [project @ 2004-07-18 22:21:32 by atimmins]
svn path=/import/netsurf/; revision=1097
2004-07-18 22:21:32 +00:00
Richard Wilson
962b3dd828 [project @ 2004-07-09 17:03:34 by rjw]
Tidier hotlist code. URL normalisation. Redraw uses Tinct.

svn path=/import/netsurf/; revision=1063
2004-07-09 17:03:35 +00:00
John Tytgat
a0d511734a [project @ 2004-07-05 20:19:51 by joty]
Using UTF-8 instead of Latin1 encoding.

svn path=/import/netsurf/; revision=1049
2004-07-05 20:19:52 +00:00
James Bursa
b4723c1d05 [project @ 2004-06-21 15:09:58 by bursa]
Merge memory cache into content module.

svn path=/import/netsurf/; revision=986
2004-06-21 15:09:59 +00:00