summaryrefslogtreecommitdiff
path: root/utils
Commit message (Collapse)AuthorAgeFilesLines
* warnings.squash();John Mark Bell2008-05-261-4/+5
| | | | svn path=/trunk/netsurf/; revision=4206
* - introduction of SLEN()John Tytgat2008-05-252-5/+19
| | | | | | | - enforce result of url_normalize() being NULL on failure - plug memory leak when url_normalize() fails svn path=/trunk/netsurf/; revision=4200
* Remove .cvsignore.John Tytgat2008-05-251-1/+0
| | | | svn path=/trunk/netsurf/; revision=4199
* Contribution from Philip Boulain <prb@ecs.soton.ac.uk>:John Tytgat2008-05-252-44/+85
| | | | | | | | | | | | | | | | | | | | | This makes url_normalize take care of whitespace in a fairly useful way, consistent with other browsers: - Leading and trailing whitespace is trimmed - Internal whitespace is urlescaped For example, " http://www.google.co.uk/search?q=hello world " becomes "http://www.google.co.uk/search?q=hello%20world" Explicit trailing whitespace, e.g. "...hello world%20", is left alone. The upshot is that if you sloppily copy-paste a URL from IRC or whatnot into the address bar, NetSurf no longer silently ignores you if you caught some adjacent whitespace. svn path=/trunk/netsurf/; revision=4198
* Ensure we've got a definition for size_tJohn Mark Bell2008-05-141-0/+2
| | | | svn path=/trunk/netsurf/; revision=4157
* The core code has always assumed a locale of "C".John Mark Bell2008-05-132-0/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove text export build config option. Tidy up save_text code.Michael Drake2008-04-131-1/+0
| | | | svn path=/trunk/netsurf/; revision=4095
* - riscos/gui.c(path_to_url): escape the characters which need to be escaped ↵John Tytgat2008-04-022-19/+26
| | | | | | | | | | | | | | when converting the host path to file: URL. - utils/{url.c,url.h}(url_escape): * added parameter 'toskip' to specify number of input characters which need to be skipped in the escape process. This avoids extra malloc buffer juggling. * added parameter 'escexceptions' to specify the characters which need to be excluded from the escape process. Solves SF tracker ID 1910169. Note that when discname in path contains '/' characters (case: "file:///Sunfish#192.168.0.50::/home/joty.$/jo.html") or there is no discname specified at all (case "file:///HostFS:$/jo.htm"), you need an UnixLib fix as in http://www.riscos.info/websvn/listing.php?repname=gccsdk&path=%2Ftrunk%2Fgcc4%2F&rev=3395&sc=1 svn path=/trunk/netsurf/; revision=4069
* Implement sprite support for GTK using librospriteJames Shaw2008-03-291-0/+5
| | | | svn path=/trunk/netsurf/; revision=4051
* Update to use new build system.Michael Drake2008-03-191-1/+1
| | | | svn path=/trunk/netsurf/; revision=3981
* Remove spurious *John Mark Bell2008-03-131-1/+3
| | | | svn path=/trunk/netsurf/; revision=3946
* Add -D_NETBSD_SOURCE to Makefile.unix for building on NetBSD. Also don't ↵Rob Kendrick2008-03-121-1/+1
| | | | | | provide prototype for strcasestr under NetBSD. Fixes segfaults. svn path=/trunk/netsurf/; revision=3943
* Avoid magic numbers.John Tytgat2008-03-091-4/+4
| | | | svn path=/trunk/netsurf/; revision=3907
* Initial attempt at implementing data: URLs. Needs cleaning and verifying ↵Rob Kendrick2008-03-052-0/+486
| | | | | | that I'm using the fetcher API correctly. Appears to work, though. svn path=/trunk/netsurf/; revision=3882
* SignednessWarnings.squash()John Mark Bell2008-02-251-1/+2
| | | | | | 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
* Add url_fragment to extract fragment from URLJohn Mark Bell2008-02-032-7/+49
| | | | | | | | Optionally allow url_compare to ignore fragments in comparison Fix handling of url_compare result in a few places Fix redirects which contain fragments in the Location header svn path=/trunk/netsurf/; revision=3826
* The previous fix was broken -- URI paths include the leafname.John Mark Bell2008-01-071-9/+2
| | | | | | | | | Make url_path() return the full path (including the leafname). Defaulted cookie path attributes have the leafname and trailing slash stripped. Add testcase for defaulted path. Fix testcase conditions for paths with leafnames. svn path=/trunk/netsurf/; revision=3693
* Add url_leafname()John Mark Bell2008-01-072-1/+34
| | | | | | Remove spurious * from url_host_is_ip_address() svn path=/trunk/netsurf/; revision=3691
* Update all source code file headers to reflect GPL version 2 only and ↵Vincent Sanders2007-08-0822-66/+323
| | | | | | contain appropriate licence text svn path=/trunk/netsurf/; revision=3486
* a script which will determine who was the last person to change a line which ↵Vincent Sanders2007-08-081-0/+36
| | | | | | has a warning upon it (and a which revision) svn path=/trunk/netsurf/; revision=3484
* Fix debug buildJohn Mark Bell2007-08-061-2/+4
| | | | svn path=/trunk/netsurf/; revision=3477
* Purge NCOS build options; these have been redundant for ages.John Mark Bell2007-07-211-5/+4
| | | | svn path=/trunk/netsurf/; revision=3454
* Initial work on RSVG image handler. Still a lot to do.Rob Kendrick2007-07-181-1/+7
| | | | svn path=/trunk/netsurf/; revision=3433
* Wrap internal SVG renderer with appropriate #ifdef WITH_NS_SVGRob Kendrick2007-07-181-0/+1
| | | | svn path=/trunk/netsurf/; revision=3432
* Add HAVE_STRNDUP and supporting structure to config.h and make utils.[ch] ↵Rob Kendrick2007-06-163-6/+13
| | | | | | reflect it. svn path=/trunk/netsurf/; revision=3351
* Changes to allow building on Solaris.Rob Kendrick2007-06-153-3/+3
| | | | | | | | | * 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
* FreeBSD portability fixes.Rob Kendrick2007-06-151-1/+1
| | | | | | | | | | | * Remove usage of d_ino from utils/filename.c (it was checking for the inode being 0, and I cannot spot anywhere in UnixLib where it would explicitly do this anyway) * Add -D_XOPEN_SOURCE=600 to gcc command line, and replace old -D_POSIX_C_SOURCE to include =200112L (as that's the standard we use). svn path=/trunk/netsurf/; revision=3347
* Reflow useragent.c to be 8 char indent. Also rename build_user_agent to ↵Daniel Silverstone2007-06-101-27/+27
| | | | | | user_agent_build_string so that all useragent.c starts user_agent_* svn path=/trunk/netsurf/; revision=3334
* Warning fixes.John Mark Bell2007-06-101-9/+17
| | | | svn path=/trunk/netsurf/; revision=3332
* Merge scheme switcher branch in.Daniel Silverstone2007-06-103-0/+177
| | | | svn path=/trunk/netsurf/; revision=3330
* Check return value of stat() in filename.c and report oddness using LOGRob Kendrick2007-06-101-2/+10
| | | | svn path=/trunk/netsurf/; revision=3318
* Stop filename.c using d_type member in dirent struct, as this is completely ↵Rob Kendrick2007-06-101-6/+15
| | | | | | and utterly unportable. Not even Linux has it anymore. svn path=/trunk/netsurf/; revision=3317
* Remove the netsurf/ from the include paths and rationalise use of <> vs "" ↵Daniel Silverstone2007-05-3012-27/+27
| | | | | | | | | | | | | | 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
* Add a -v option to enable debug logging. Pass -v by default to the RO runimage.Daniel Silverstone2007-05-301-3/+4
| | | | svn path=/trunk/netsurf/; revision=3306
* Move user-agent generation into fetch.c and simplify.James Bursa2007-05-022-33/+0
| | | | svn path=/trunk/netsurf/; revision=3260
* Remove defines that were never or are no longer used.James Bursa2007-04-301-11/+1
| | | | svn path=/trunk/netsurf/; revision=3259
* Bring percent-encoding closer to what other browsers do.John Mark Bell2007-02-111-8/+13
| | | | svn path=/trunk/netsurf/; revision=3179
* Fix almost all warnings in gtk/Rob Kendrick2007-02-101-0/+2
| | | | svn path=/trunk/netsurf/; revision=3173
* Generates and use a User-Agent: string based on new ↵Rob Kendrick2007-01-302-0/+36
| | | | | | netsurf_version_major/minor values, and results of uname(). svn path=/trunk/netsurf/; revision=3158
* Make time taken that is displayed in status bar use gettimeofday()-based ↵Rob Kendrick2007-01-302-0/+18
| | | | | | time rather than clock()-based time svn path=/trunk/netsurf/; revision=3157
* Make GTK build compile on FreeBSD.James Bursa2007-01-294-4/+37
| | | | svn path=/trunk/netsurf/; revision=3154
* Fix 1535120, 1528673Richard Wilson2006-12-012-0/+37
| | | | svn path=/trunk/netsurf/; revision=3087
* Update project URL.Michael Drake2006-11-2719-97/+97
| | | | svn path=/trunk/netsurf/; revision=3073
* Skeleton implementation of new themes API, complete with documentation, for ↵Rob Kendrick2006-10-312-0/+166
| | | | | | discussion purposes. svn path=/trunk/netsurf/; revision=3021
* Add verbose flag to theme creation tool - silent unless used.Rob Kendrick2006-10-271-9/+22
| | | | svn path=/trunk/netsurf/; revision=3019
* Make containers use mmap() where availableRob Kendrick2006-10-262-6/+18
| | | | svn path=/trunk/netsurf/; revision=3018
* Import initial work on theme container handling code and simple command-line ↵Rob Kendrick2006-10-262-0/+587
| | | | | | tool to create and dismantal them. Still a little grungy, and doesn't check in enough places for memory exhaustion. svn path=/trunk/netsurf/; revision=3017
* Make hashtable's fnv hash inline - saves 8 instructions and two pipeline ↵Rob Kendrick2006-10-201-1/+1
| | | | | | flushes per call svn path=/trunk/netsurf/; revision=3014
* Plug possible memory leak. Reduce memory usage. Add facility to iterate ↵Richard Wilson2006-10-202-42/+67
| | | | | | through a hashtable. svn path=/trunk/netsurf/; revision=3013
* Further hash table optimisations and tidies. Test rig now does more lookups ↵Rob Kendrick2006-10-132-14/+19
| | | | | | to favour the more comment case for speed tests, etc. svn path=/trunk/netsurf/; revision=3003