From 1fa1786d832018f8a4e6a58c23ad968e84eb9bfa Mon Sep 17 00:00:00 2001 From: James Bursa Date: Mon, 21 Jun 2004 15:49:59 +0000 Subject: [project @ 2004-06-21 15:49:59 by bursa] Remove obsolete files and some dead code. svn path=/import/netsurf/; revision=989 --- content/cache.c | 315 ----------------------------------------------------- content/cache.h | 36 ------ riscos/about.c | 299 -------------------------------------------------- riscos/about.h | 22 ---- riscos/constdata.c | 20 ---- riscos/constdata.h | 24 ---- 6 files changed, 716 deletions(-) delete mode 100644 content/cache.c delete mode 100644 content/cache.h delete mode 100644 riscos/about.c delete mode 100644 riscos/about.h delete mode 100644 riscos/constdata.c delete mode 100644 riscos/constdata.h diff --git a/content/cache.c b/content/cache.c deleted file mode 100644 index 760f54679..000000000 --- a/content/cache.c +++ /dev/null @@ -1,315 +0,0 @@ -/* - * This file is part of NetSurf, http://netsurf.sourceforge.net/ - * Licensed under the GNU General Public License, - * http://www.opensource.org/licenses/gpl-license - * Copyright 2003 James Bursa - */ - -/** \file - * Caching of converted contents (implementation). - * - * The current implementation is a memory cache only. The content structures - * are stored in two linked lists. - * - inuse_list contains non-freeable contents - * - unused_list contains freeable contents - * - * The cache has a suggested maximum size. If the sum of the size attribute of - * the contents exceeds the maximum, contents from the freeable list are - * destroyed until the size drops below the maximum, if possible. Freeing is - * attempted only when cache_put is used. - */ - -#include -#include -#include -#include -#include "netsurf/content/cache.h" -#include "netsurf/utils/utils.h" -#include "netsurf/utils/log.h" - -#ifndef TEST -#include "netsurf/content/content.h" -#else -#include -struct content { - char *url; - struct cache_entry *cache; - unsigned long size; -}; -void content_destroy(struct content *c); -#endif - - -/* - * internal structures and declarations - */ - -static void cache_shrink(void); -static unsigned long cache_size(void); - -struct cache_entry { - struct content *content; - struct cache_entry *next, *prev; -}; - -/* doubly-linked lists using a sentinel */ -/* TODO: replace with a structure which can be searched faster */ -/* unused list is ordered from most recently to least recently used */ -static struct cache_entry inuse_list_sentinel = {0, &inuse_list_sentinel, &inuse_list_sentinel}; -static struct cache_entry unused_list_sentinel = {0, &unused_list_sentinel, &unused_list_sentinel}; -static struct cache_entry *inuse_list = &inuse_list_sentinel; -static struct cache_entry *unused_list = &unused_list_sentinel; - -/** Suggested maximum size of cache (bytes). */ -static unsigned long max_size = 1024*1024; /* TODO: make this configurable */ - - -/** - * Initialise the cache manager. - * - * Must be called before using any other cache functions. - * - * Currently does nothing. - */ - -void cache_init(void) -{ -} - - -/** - * Terminate the cache manager. - * - * Must be called before the program exits. - * - * Currently does nothing. - */ - -void cache_quit(void) -{ -} - - -/** - * Retrieve a content from the memory cache or disc cache. - * - * Returns the content and sets it to non-freeable on success. Returns 0 if - * the URL is not present in the cache. - */ - -struct content * cache_get(const char * const url) -{ - struct cache_entry *e; - LOG(("url %s", url)); - - /* search inuse_list first */ - for (e = inuse_list->next; e != inuse_list && strcmp(e->content->url, url) != 0; e = e->next) - ; - if (e != inuse_list) { - LOG(("'%s' in inuse_list, content %p", url, e->content)); - return e->content; - } - - LOG(("not in inuse_list")); - - /* search unused_list if not found */ - for (e = unused_list->next; e != unused_list && strcmp(e->content->url, url) != 0; e = e->next) - ; - if (e != unused_list) { - LOG(("'%s' in unused_list, content %p", url, e->content)); - /* move to inuse_list */ - e->prev->next = e->next; - e->next->prev = e->prev; - e->prev = inuse_list->prev; - e->next = inuse_list; - inuse_list->prev->next = e; - inuse_list->prev = e; - return e->content; - } - - LOG(("'%s' not in cache", url)); - return 0; -} - - -/** - * Add a content to the memory cache. - * - * The content is set to non-freeable. - */ - -void cache_put(struct content * content) -{ - struct cache_entry * e; - LOG(("content %p, url '%s', size %lu", content, content->url, content->size)); - - cache_shrink(); - - /* add the new content to the inuse_list */ - e = xcalloc(1, sizeof(struct cache_entry)); - e->content = content; - e->prev = inuse_list->prev; - e->next = inuse_list; - inuse_list->prev->next = e; - inuse_list->prev = e; - content->cache = e; -} - - -/** - * Inform cache that the content has no users. - * - * The content is set to freeable, and may be destroyed in the future. - */ - -void cache_freeable(struct content * content) -{ - struct cache_entry * e = content->cache; - - assert(e != 0); - LOG(("content %p, url '%s'", content, content->url)); - - /* move to unused_list */ - e->prev->next = e->next; - e->next->prev = e->prev; - e->prev = unused_list; - e->next = unused_list->next; - unused_list->next->prev = e; - unused_list->next = e; -} - - -/** - * Remove a content from the cache immediately. - * - * Informs the cache that a content is about to be destroyed, and must be - * removed from the cache. This should be called when an error occurs when - * loading an url and the content is destroyed. The content must be - * non-freeable. - */ - -void cache_destroy(struct content * content) -{ - struct cache_entry * e = content->cache; - e->prev->next = e->next; - e->next->prev = e->prev; - xfree(e); - content->cache = 0; -} - - -/** - * Attempt to reduce cache size below max_size. - */ - -void cache_shrink(void) -{ - struct cache_entry * e; - unsigned long size = cache_size(); - - /* clear old data from the usused_list until the size drops below max_size */ - while (max_size < size && unused_list->next != unused_list) { - e = unused_list->prev; - LOG(("size %lu, removing %p '%s'", size, e->content, e->content->url)); - /* TODO: move to disc cache */ - size -= e->content->size; - e->content->cache = 0; - content_destroy(e->content); - unused_list->prev = e->prev; - e->prev->next = unused_list; - xfree(e); - } - LOG(("size %lu", size)); -} - - -/** - * Return current size of the cache. - */ - -unsigned long cache_size(void) -{ - struct cache_entry * e; - unsigned long size = 0; - for (e = inuse_list->next; e != inuse_list; e = e->next) - size += e->content->size; - for (e = unused_list->next; e != unused_list; e = e->next) - size += e->content->size; - return size; -} - - -/** - * Dump contents of cache. - */ - -void cache_dump(void) { - struct cache_entry * e; - LOG(("size %lu", cache_size())); - LOG(("inuse_list:")); - for (e = inuse_list->next; e != inuse_list; e = e->next) - LOG((" content %p, size %lu, url '%s'", e->content, - e->content->size, e->content->url)); - LOG(("unused_list (time now %lu):", time(0))); - for (e = unused_list->next; e != unused_list; e = e->next) - LOG((" content %p, size %lu, url '%s'", e->content, - e->content->size, e->content->url)); - LOG(("end")); -} - - -/** - * testing framework - */ - -#ifdef TEST -struct content test[] = { - {"aaa", 0, 200 * 1024}, - {"bbb", 0, 100 * 1024}, - {"ccc", 0, 400 * 1024}, - {"ddd", 0, 600 * 1024}, - {"eee", 0, 300 * 1024}, - {"fff", 0, 500 * 1024}, -}; - -#define TEST_COUNT (sizeof(test) / sizeof(test[0])) - -unsigned int test_state[TEST_COUNT]; - -void content_destroy(struct content *c) -{ -} - -int main(void) -{ - int i; - struct content *c; - for (i = 0; i != TEST_COUNT; i++) - test_state[i] = 0; - - cache_init(); - - for (i = 0; i != 100; i++) { - int x = rand() % TEST_COUNT; - switch (rand() % 2) { - case 0: - c = cache_get(test[x].url); - if (c == 0) { - assert(test_state[x] == 0); - cache_put(&test[x]); - } else - assert(c == &test[x]); - test_state[x]++; - break; - case 1: - if (test_state[x] != 0) { - cache_free(&test[x]); - test_state[x]--; - } - break; - } - } - cache_dump(); - return 0; -} -#endif diff --git a/content/cache.h b/content/cache.h deleted file mode 100644 index 8cdb9b63c..000000000 --- a/content/cache.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * This file is part of NetSurf, http://netsurf.sourceforge.net/ - * Licensed under the GNU General Public License, - * http://www.opensource.org/licenses/gpl-license - * Copyright 2003 James Bursa - */ - -/** \file - * Caching of converted contents (interface). - * - * The cache contains a ::content structure for each url. If a structure is not - * in state CONTENT_STATUS_DONE, then loading and converting must be actively - * in progress, so that when a not done content is retrieved no action needs - * to be taken to load it. - * - * Each content in the cache is either freeable or non-freeable. If an entry - * is freeable, the cache may destroy it through content_destroy() at any time. - * - * The cache uses the cache element of struct content. - */ - -#ifndef _NETSURF_DESKTOP_CACHE_H_ -#define _NETSURF_DESKTOP_CACHE_H_ - -struct content; -struct cache_entry; - -void cache_init(void); -void cache_quit(void); -struct content * cache_get(const char * const url); -void cache_put(struct content * content); -void cache_freeable(struct content * content); -void cache_destroy(struct content * content); -void cache_dump(void); - -#endif diff --git a/riscos/about.c b/riscos/about.c deleted file mode 100644 index 89f39506c..000000000 --- a/riscos/about.c +++ /dev/null @@ -1,299 +0,0 @@ -/* - * This file is part of NetSurf, http://netsurf.sourceforge.net/ - * Licensed under the GNU General Public License, - * http://www.opensource.org/licenses/gpl-license - * Copyright 2003,4 John M Bell - */ - -/** \file - * About page creation. - * Dynamically creates the about page, scanning for available plugin information. - */ - -#include -#include -#include -#include -#include -#include /* for __unixify */ -#include "oslib/fileswitch.h" -#include "oslib/osargs.h" -#include "oslib/osfile.h" -#include "oslib/osfind.h" -#include "oslib/osfscontrol.h" -#include "oslib/osgbpb.h" -#include "netsurf/utils/config.h" -#include "netsurf/desktop/browser.h" -#include "netsurf/desktop/netsurf.h" -#include "netsurf/utils/log.h" -#include "netsurf/utils/messages.h" -#include "netsurf/utils/utils.h" - -#ifdef WITH_ABOUT - -static const char *pabouthdr = "%s
\"Netsurf
 

NetSurf %s

Copyright © 2002, 2003 NetSurf Developers.
 

"; /**< About page header */ -static const char *pabtplghd = "The following plugins are installed on your system:
 
"; /**< Plugin table header */ -static const char *paboutpl1 = ""; /**< Plugin entry without image */ -static const char *paboutpl2 = "";/**< Plugin entry with image (filename=nn) */ -static const char *paboutpl3 = ""; /**< Plugin entry with image (filename=nnwwwwhhhh) */ -static const char *pabtplgft = "
%s%s
%s
\"%s\"
%s
%s
\"%s\"
%s
"; /**< Plugin table footer */ -static const char *paboutftr = ""; /**< Page footer */ - - - -/** - * Create the browser about page. - * - * \param url requested url (about:...) - * \param callback content callback function, for content_add_user() - * \param p1 user parameter for callback - * \param p2 user parameter for callback - * \param width available width - * \param height available height - * \return a new content containing the about page - */ - -struct content *about_create(const char *url, - void (*callback)(content_msg msg, struct content *c, void *p1, - void *p2, const char *error), - void *p1, void *p2, unsigned long width, unsigned long height) -{ - struct content *c = 0; - FILE *fp; - char *buf, *val, var[20], *ptype, *pdetails, *fname, *furl; - int i, nofiles, j, w, h, size; - fileswitch_object_type fot; - os_error *e; - const char *params[] = { 0 }; - - c = content_create(url); - c->width = width; - c->height = height; - content_add_user(c, callback, p1, p2); - content_set_type(c, CONTENT_HTML, "text/html", params); - - /* Page header */ - buf = xcalloc(strlen(pabouthdr) + 50, sizeof(char)); - snprintf(buf, strlen(pabouthdr) + 50, pabouthdr, "About NetSurf", - netsurf_version); - content_process_data(c, buf, strlen(buf)); - free(buf); - - /* browser details */ - buf = load(".About.About"); - content_process_data(c, buf, strlen(buf)); - free(buf); - - /* plugin header */ - content_process_data(c, pabtplghd, strlen(pabtplghd)); - - /* plugins registered */ - for (i=0; i!=4096; i++) { - sprintf(var, "Plugin$About_%3.3x", i); - - if ((val = getenv(var)) != 0) { - /* Plugin Name */ - sprintf(var, "Plugin$Type_%3.3x", i); - ptype = getenv(var); - - buf = xcalloc(strlen(val) + 20, sizeof(char)); - /* count files which match .About* */ - sprintf(buf, "%s.About*", val); - xosfscontrol_count(buf,0,0,0,0,0,0,&nofiles); - - for (j=0; j!=nofiles; j++) { - /* get plugin details */ - if (j == 0) { - sprintf(buf, "%s.About", val); - } - else { - sprintf(buf, "%s.About%2.2d", val, j); - } - e = xosfile_read_stamped_no_path(buf,&fot,0,0,&size,0,0); - - /* If only one file, name can be "About" or "About00" */ - if(e || (j == 0 && (int)fot != 1)) { - sprintf(buf, "%s.About%2.2d", val, j); - e = xosfile_read_stamped_no_path(buf,&fot,0,0,&size,0,0); - } - /* ok, no file found. try again */ - if(e || (int)fot != 1) { - continue; - } - - /* read contents of file */ - fp = fopen(buf, "r"); - pdetails = xcalloc((unsigned int)size + 10, sizeof(char)); - fread(pdetails, sizeof(char), (unsigned int)size, fp); - fclose(fp); - - /* now see if there's an image to display */ - sprintf(buf, "%s.%2.2d", val, j); - LOG(("buf: %s", buf)); - e = xosfile_read_stamped_no_path(buf,&fot,0,0,0,0,0); - - if(e || (int)fot != 1) { - sprintf(buf, "%s.%2.2d*", val, j); - LOG(("buf: %s", buf)); - e = xosfile_read_stamped_no_path(buf,&fot,0,0,0,0,0); - - if(e || (int)fot != 1) { - /* Type 1: no image file */ - furl = xcalloc(strlen(paboutpl1) + strlen(ptype) + strlen(pdetails) + 10, sizeof(char)); - sprintf(furl, paboutpl1, ptype, pdetails); - LOG(("furl: %s", furl)); - content_process_data(c, furl, strlen(furl)); - xfree(pdetails); - continue; - } - else { - void *name; - - /* Type 3: image file with name xxwwwwhhhh */ - /* get actual file name */ - sprintf(var, "%2.2d*", j); - LOG(("var: %s", var)); - - name = (void*)xcalloc((unsigned int)20, sizeof(char)); - - e = xosgbpb_dir_entries(val, (osgbpb_string_list*)name, - 1, 0, 255, var, NULL, NULL); - if (e) { - LOG(("%s", e->errmess)); - xfree(name); - xfree(pdetails); - continue; - } - LOG(("fname: %s", (char*)name)); - sprintf(buf, "%s.%s", val, (char*)name); - furl = xcalloc(strlen(buf) + 20, sizeof(char)); - - /* grab leafname and get width and height */ - h = atoi((char*)name+6); - ((char*)name)[6] = 0; - w = atoi((char*)name+2); - - xfree(name); - - /* convert to URL */ - __unixify(buf, 0, furl, strlen(buf)+20, 0); - sprintf(buf, "file://%s", furl); - xfree(furl); - - LOG(("furl: %s", buf)); - furl = xcalloc(strlen(paboutpl3) + strlen(ptype) + strlen(buf) + - strlen(pdetails) + 10, sizeof(char)); - sprintf(furl, paboutpl3, ptype, buf, ptype, w, h, pdetails); - content_process_data(c, furl, strlen(furl)); - xfree(pdetails); - continue; - } - } - else { - /* Type 2: image file with name xx */ - /* convert RO path to url */ - fname = xcalloc(strlen(buf) + 10, sizeof(char)); - furl = xcalloc(strlen(buf) + 10, sizeof(char)); - __unixify(buf, 0, furl, strlen(buf) + 10, 0); - sprintf(fname, "file://%s", furl); - xfree(furl); - - furl = xcalloc(strlen(paboutpl2) + strlen(ptype) + strlen(fname) + strlen(pdetails) + 10, sizeof(char)); - sprintf(furl, paboutpl2, ptype, fname, ptype, pdetails); - content_process_data(c, furl, strlen(furl)); - xfree(fname); - xfree(pdetails); - } - } - if (buf != 0) { - xfree(buf); - } - } - } - - /* plugin footer */ - content_process_data(c, pabtplgft, strlen(pabtplgft)); - - /* Page footer */ - content_process_data(c, paboutftr, strlen(paboutftr)); - - content_convert(c, c->width, c->height); - - return c; -} - -#ifdef WITH_COOKIES -/** - * Creates the cookie list and stores it in .WWW.Netsurf - */ -void cookie_create(void) { - - FILE *fp; - int len, count=0; - char *cookies = 0, *pos; - char domain[256], flag[10], path[256], secure[10], - exp[50], name[256], val[256]; - unsigned int expiry; - - fp = fopen(messages_get("cookiefile"), "r"); - if (!fp) { - LOG(("Failed to open cookie jar")); - return; - } - - /* read file length */ - fseek(fp, 0, SEEK_END); - len = ftell(fp); - fseek(fp, 0, SEEK_SET); - - cookies = xcalloc((unsigned int)len, sizeof(char)); - fread(cookies, (unsigned int)len, sizeof(char), fp); - fclose(fp); - - xosfile_create_dir(".WWW", 77); - xosfile_create_dir(".WWW.NetSurf", 77); - fp = fopen(".WWW.NetSurf.Cookies", "w+"); - if (!fp) { - xfree(cookies); - LOG(("Failed to create file")); - return; - } - fprintf(fp, pabouthdr, "About NetSurf - Cookies", netsurf_version); - fprintf(fp, "The following cookies are stored on your system:
"); - pos = cookies; - while (pos != (cookies+len-1)) { - if (*pos == '#') { - for (; *pos != '\n'; pos++); - pos += 1; - continue; - } - sscanf(pos, "%s\t%s\t%s\t%s\t%s\t%s\t%s\n", domain, flag, path, secure, - exp, name, val); - pos += (strlen(domain) + strlen(flag) + strlen(path) + strlen(secure) + - strlen(exp) + strlen(name) +strlen(val) + 7); - sscanf(exp, "%u", &expiry); - fprintf(fp, "", (count%2 == 0 ? " bgcolor=\"#ddddee\"" : ""), domain, flag, path, secure, - (expiry == 0 ? "Expires on exit" : ctime((time_t*)&expiry)), name, val); - count++; - } - - fprintf(fp, "
Domain:Flag:Path:Secure:Expiration:Name:Value:
%s%s%s%s%s%s%s
"); - fclose(fp); - xosfile_set_type(".WWW.NetSurf.Cookies", 0xfaf); - xfree(cookies); - return; -} -#endif - -/** - * Clean up created files - */ -void about_quit(void) { - - xosfile_delete(".WWW.NetSurf.About", 0, 0, 0, 0, 0); -#ifdef WITH_COOKIES - xosfile_delete(".WWW.NetSurf.Cookies", 0, 0, 0, 0, 0); -#endif -} - -#endif diff --git a/riscos/about.h b/riscos/about.h deleted file mode 100644 index e6e9f69b4..000000000 --- a/riscos/about.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * This file is part of NetSurf, http://netsurf.sourceforge.net/ - * Licensed under the GNU General Public License, - * http://www.opensource.org/licenses/gpl-license - * Copyright 2003 John M Bell - */ - -#ifndef _NETSURF_RISCOS_ABOUT_H_ -#define _NETSURF_RISCOS_ABOUT_H_ - -#include "netsurf/utils/config.h" - -#ifdef WITH_ABOUT -void about_create(void); -#ifdef WITH_COOKIES -void cookie_create(void); -#endif -void about_quit(void); -#endif - -#endif - diff --git a/riscos/constdata.c b/riscos/constdata.c deleted file mode 100644 index 25a1e482b..000000000 --- a/riscos/constdata.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * This file is part of NetSurf, http://netsurf.sourceforge.net/ - * Licensed under the GNU General Public License, - * http://www.opensource.org/licenses/gpl-license - * Copyright 2003 Phil Mellor - * Copyright 2003 James Bursa - * Copyright 2003 John M Bell - */ - -#include "netsurf/utils/config.h" -#include "netsurf/riscos/constdata.h" - -#ifdef WITH_ABOUT -const char * const ABOUT_URL = "file:///%3CWimp$ScrapDir%3E/WWW/NetSurf/About"; -#ifdef WITH_COOKIES -const char * const COOKIE_URL = "file:///%3CWimp$ScrapDir%3E/WWW/NetSurf/Cookies"; -#endif -#endif - -const char * const THEMES_URL = "http://netsurf.sourceforge.net/themes/"; diff --git a/riscos/constdata.h b/riscos/constdata.h deleted file mode 100644 index 909720a60..000000000 --- a/riscos/constdata.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * This file is part of NetSurf, http://netsurf.sourceforge.net/ - * Licensed under the GNU General Public License, - * http://www.opensource.org/licenses/gpl-license - * Copyright 2003 Phil Mellor - * Copyright 2003 James Bursa - * Copyright 2003 John M Bell - */ - -#ifndef _NETSURF_RISCOS_CONSTDATA_H_ -#define _NETSURF_RISCOS_CONSTDATA_H_ - -#include "netsurf/utils/config.h" - -#ifdef WITH_ABOUT -extern const char * const ABOUT_URL; -#ifdef WITH_COOKIES -extern const char * const COOKIE_URL; -#endif -#endif -extern const char * const GESTURES_URL; -extern const char * const THEMES_URL; - -#endif -- cgit v1.2.3