nobug
10 years agoreenable recursive resource_mutex
Christian Thaeter [Tue, 2 Feb 2010 12:18:13 +0000 (13:18 +0100)]
reenable recursive resource_mutex

this allows nested state transistions

 NOBUG_RESOURCE_WAIT (...)
   {
     lock ();
     NOBUG_RESOURCE_STATE (..) ;
   }

10 years agoFix testsuite for the new continutation syntax using a '!' after the event count
Christian Thaeter [Tue, 2 Feb 2010 12:06:45 +0000 (13:06 +0100)]
Fix testsuite for the new continutation syntax using a '!' after the event count

10 years agoFIX: Rework locking
Christian Thaeter [Tue, 2 Feb 2010 12:05:47 +0000 (13:05 +0100)]
FIX: Rework locking

The resourcetracker macros are now block heads which protect the next
statement. Locking is coded into the Library, macros removed.

10 years agofix threadstress test, disable beta and release, these need more work
Christian Thaeter [Tue, 2 Feb 2010 11:58:00 +0000 (12:58 +0100)]
fix threadstress test, disable beta and release, these need more work

10 years agoBUG: race condition when starting threads accessing resources
Christian Thaeter [Mon, 1 Feb 2010 08:22:03 +0000 (09:22 +0100)]
BUG: race condition when starting threads accessing resources

A resource should be registered at the resourcetracker when it becomes
available. In presence of threads there is a race condition when a
created immediately tries to access this resource. A proper solution is to
make resource operations atomic with the resourcetracker.

This commit introduces a test with the proposed syntax to be implemented in
the following commits. Using block statements again (as faulty abadoned
some time ago)

10 years agomultiline continued log lines have a special event mark (!) now
Christian Thaeter [Sat, 30 Jan 2010 22:07:47 +0000 (23:07 +0100)]
multiline continued log lines have a special event mark (!) now

instead printing something like
 0000000001: first
 0000000001: continued
it now prints
 0000000001: first
 0000000001! continued

10 years agoreplace certain boring strings with a '-'
Christian Thaeter [Sat, 30 Jan 2010 22:05:45 +0000 (23:05 +0100)]
replace certain boring strings with a '-'

Most notably for non-threaded programs the thread id is now ' -:' giving
more consistent logs

10 years agoThis is release 201001.3 201001.3
Christian Thaeter [Fri, 29 Jan 2010 07:19:14 +0000 (08:19 +0100)]
This is release 201001.3

10 years agoFix Makefile, release-tagging
Christian Thaeter [Fri, 29 Jan 2010 07:11:55 +0000 (08:11 +0100)]
Fix Makefile, release-tagging

10 years agouse a VERSION file to track the version
Christian Thaeter [Fri, 29 Jan 2010 06:14:38 +0000 (07:14 +0100)]
use a VERSION file to track the version

10 years agoAdd a lot release maintenance targets to the Makefile.am
Christian Thaeter [Fri, 29 Jan 2010 06:02:36 +0000 (07:02 +0100)]
Add a lot release maintenance targets to the Makefile.am

10 years agoscript to query the current version from the configure.ac
Christian Thaeter [Fri, 29 Jan 2010 04:40:35 +0000 (05:40 +0100)]
script to query the current version from the configure.ac

10 years agoadd library versioning
Christian Thaeter [Fri, 29 Jan 2010 04:39:56 +0000 (05:39 +0100)]
add library versioning

starting at 1:0:0 because all older releases didn't used versioning and
where installed as .0 versions.

10 years agoAdd a small script for bumping the version number
Christian Thaeter [Fri, 29 Jan 2010 03:52:45 +0000 (04:52 +0100)]
Add a small script for bumping the version number

10 years agoupdate copyright headers again
Christian Thaeter [Fri, 29 Jan 2010 03:38:59 +0000 (04:38 +0100)]
update copyright headers again

Just testing how the git-analyze-copyright works

10 years agoEnable resource logging in BETA builds
Christian Thaeter [Fri, 29 Jan 2010 01:31:23 +0000 (02:31 +0100)]
Enable resource logging in BETA builds

.. but leave the resourcetracker ALPHA only. This is a prerequisite for
a long time goal to have an application which processes logfiles offline
and does there resourcetracking there.

10 years agoadd a NIL context for passing boring contexts
Christian Thaeter [Thu, 28 Jan 2010 23:35:24 +0000 (00:35 +0100)]
add a NIL context for passing boring contexts

10 years agoAdd a 'guard' size parameter to ringbuffer construction, remove hardcoded
Christian Thaeter [Thu, 28 Jan 2010 23:28:21 +0000 (00:28 +0100)]
Add a 'guard' size parameter to ringbuffer construction, remove hardcoded

The size of ringbuffer wraparound pages at each end of the data was
hardcoded to 1 page. This remove this restriction and lets one pass
explicit sizes for this areas.

This also adds a (guard=N) option parsed from the NOBUG_LOG env var.

10 years agouse multiline logging for resource_dump() and resource_list()
Christian Thaeter [Thu, 28 Jan 2010 07:30:16 +0000 (08:30 +0100)]
use multiline logging for resource_dump() and resource_list()

10 years agoRefactor logging core into multiple functions, support multi-line logging
Christian Thaeter [Thu, 28 Jan 2010 06:45:32 +0000 (07:45 +0100)]
Refactor logging core into multiple functions, support multi-line logging

log messages can now contain newline characters '\n' to break lines.
Each such new line will emit a new logging line with the same header
(same logging event number).

This multiline logging is atomic and will not be mixed with other log
output.

The logging callback function is called for each emited line, while the
postlogging callback is still only called once after the output.

10 years agoformatting fix for init_flag
Christian Thaeter [Thu, 28 Jan 2010 06:16:57 +0000 (07:16 +0100)]
formatting fix for init_flag

10 years agoringbuffer_extend() for adding extra space to the last added entry
Christian Thaeter [Thu, 28 Jan 2010 05:58:54 +0000 (06:58 +0100)]
ringbuffer_extend() for adding extra space to the last added entry

10 years agoRingbuffer internal doc
Christian Thaeter [Thu, 28 Jan 2010 05:52:48 +0000 (06:52 +0100)]
Ringbuffer internal doc

10 years agoSome small doc fixes reflecting recent new features
Christian Thaeter [Thu, 28 Jan 2010 05:50:28 +0000 (06:50 +0100)]
Some small doc fixes reflecting recent new features

10 years agoUpdate copyright headers according to git blame output
Christian Thaeter [Mon, 25 Jan 2010 07:52:07 +0000 (08:52 +0100)]
Update copyright headers according to git blame output

processed with http://git.pipapo.org/git-analyze-copyright
Peter Simons told me that he doesnt claim copyright of his contributions

10 years agoupdated NEWS file from all previous release announcements
Christian Thaeter [Mon, 25 Jan 2010 07:33:31 +0000 (08:33 +0100)]
updated NEWS file from all previous release announcements

10 years agoadd .mailmap for git commit/author normalization
Christian Thaeter [Mon, 25 Jan 2010 07:32:38 +0000 (08:32 +0100)]
add .mailmap for git commit/author normalization

10 years agoNew README file
Christian Thaeter [Sat, 23 Jan 2010 15:58:13 +0000 (16:58 +0100)]
New README file

10 years agoDocumentation update for new 'context' facility. Bump version to 201001.2 201001.2
Christian Thaeter [Sat, 23 Jan 2010 04:53:19 +0000 (05:53 +0100)]
Documentation update for new 'context' facility. Bump version to 201001.2

10 years agoPass resource context structure directly instead pointer
Christian Thaeter [Sat, 23 Jan 2010 03:02:20 +0000 (04:02 +0100)]
Pass resource context structure directly instead pointer

Better C++ compatibility (no temporary), little more stack usage,
less pointer dereferences

10 years agocontext passing update
Christian Thaeter [Sat, 23 Jan 2010 00:25:04 +0000 (01:25 +0100)]
context passing update

 * _CTX macros for logging
 * NOBUG_CONTEXT_NOFUNC to be used in static initialization, doesn't use
   the __func__ symbol
 * small fixes

10 years agoWIP: add source contexts, remove debugger-only macros
Christian Thaeter [Fri, 22 Jan 2010 20:22:13 +0000 (21:22 +0100)]
WIP: add source contexts, remove debugger-only macros

 * a 'struct nobug_context' is used to pass information about sourcefile
   linenumber and function along.
 * many macros have an additional *_CTX variant which takes such a context
   (more to be implemented on demand)
 * general refactoring to more basic cases, less code duplication,
   prepare to move more things from macros to library functions.
 * remove *_DBG variants which where only active when running under a
   debugger, the flags mechanism provides more flexibility and
   superseeded these.
 * change the semantics of thread_id's, each thread gets on unique number
   now which never changes. Resetting the thread identifier increments a
   generation counter for the thread (currently unused)
 * don't depend on gcc's ## __VA_ARGS_ semantics. Found a way to pass
   ""__VA_ARGS__ instead is portable, the only remaining case is
   NOBUG_ASSERT_ which has a conditional fallback for other compilers
   (and then don't print the failed expression anymore)

The above things are not yet in the documentation.

10 years agoremove some double nobug_counter printing from resource_dump and backtrace
Christian Thaeter [Tue, 19 Jan 2010 22:43:58 +0000 (23:43 +0100)]
remove some double nobug_counter printing from resource_dump and backtrace

10 years agoFIX: C++ warning about passing temporary, make the dump context explicit
Christian Thaeter [Mon, 11 Jan 2010 09:52:17 +0000 (10:52 +0100)]
FIX: C++ warning about passing temporary, make the dump context explicit

10 years agoThanks to testing by Jeroen van de Nieuwenhof, MacOS X is now supported
Christian Thaeter [Sun, 10 Jan 2010 17:09:30 +0000 (18:09 +0100)]
Thanks to testing by Jeroen van de Nieuwenhof, MacOS X is now supported

10 years agoFIX: make selftest more robust
Christian Thaeter [Sun, 10 Jan 2010 16:58:40 +0000 (17:58 +0100)]
FIX: make selftest more robust

10 years agoFIX: Macos has no static initializer for recursive mutexes
Christian Thaeter [Sun, 10 Jan 2010 16:50:25 +0000 (17:50 +0100)]
FIX: Macos has no static initializer for recursive mutexes

10 years agoFIX: mmap checking
Christian Thaeter [Sun, 10 Jan 2010 16:28:58 +0000 (17:28 +0100)]
FIX: mmap checking

10 years agoalias for RESOURCE_TRY
Christian Thaeter [Sun, 10 Jan 2010 16:04:43 +0000 (17:04 +0100)]
alias for RESOURCE_TRY

10 years agoRELEASE: 201001.1 201001.1
Christian Thaeter [Sun, 10 Jan 2010 11:13:37 +0000 (12:13 +0100)]
RELEASE: 201001.1

10 years agoRevert "NOBUG_INIT() not always required."
Christian Thaeter [Sun, 10 Jan 2010 11:12:36 +0000 (12:12 +0100)]
Revert "NOBUG_INIT() not always required."

This reverts commit de7e94784fda8cf02f266b60ae468ef3e112f8e8.

Conflicts:

doc/initialization.txt

10 years agoadd a TRYING stateto the resourcetracker
Christian Thaeter [Sat, 9 Jan 2010 23:33:19 +0000 (00:33 +0100)]
add a TRYING stateto the resourcetracker

Trying the same as waiting, but does not trigger the deadlock checker.
This is to be used whenever deadlock checking is done on application level
like a timed lock or so.

10 years agotest.sh cosmetics
Christian Thaeter [Sat, 9 Jan 2010 17:43:56 +0000 (18:43 +0100)]
test.sh cosmetics

10 years agoFIX: the glibc logger using nobug_log internally, no locking needed
Christian Thaeter [Sat, 9 Jan 2010 17:19:55 +0000 (18:19 +0100)]
FIX: the glibc logger using nobug_log internally, no locking needed

10 years agoFIX: printing the nobug event counter was internalized to nobug_log
Christian Thaeter [Sat, 9 Jan 2010 17:06:33 +0000 (18:06 +0100)]
FIX: printing the nobug event counter was internalized to nobug_log

10 years agocorrect macro parameter parentizing
Christian Thaeter [Sat, 9 Jan 2010 10:35:57 +0000 (11:35 +0100)]
correct macro parameter parentizing

10 years agoRESOURCE_ASSERT_STATE checks for asserting that a resource is in a given state
Christian Thaeter [Fri, 8 Jan 2010 23:21:41 +0000 (00:21 +0100)]
RESOURCE_ASSERT_STATE checks for asserting that a resource is in a given state

10 years agoadd sync/allsync functions to ringbuffer, sync ringbuffers before aborting
Christian Thaeter [Thu, 7 Jan 2010 15:01:06 +0000 (16:01 +0100)]
add sync/allsync functions to ringbuffer, sync ringbuffers before aborting

10 years agocheck that a thread owns no resources when changing its id
Christian Thaeter [Thu, 7 Jan 2010 14:57:07 +0000 (15:57 +0100)]
check that a thread owns no resources when changing its id

10 years agolocking for backtraces
Christian Thaeter [Thu, 7 Jan 2010 08:18:03 +0000 (09:18 +0100)]
locking for backtraces

10 years agoback to old semantics for resource acquisition. only LEAVE has a block
Christian Thaeter [Thu, 7 Jan 2010 08:17:43 +0000 (09:17 +0100)]
back to old semantics for resource acquisition. only LEAVE has a block

10 years agoadd AM_CFLAGS to test build
Christian Thaeter [Thu, 7 Jan 2010 08:15:12 +0000 (09:15 +0100)]
add AM_CFLAGS to test build

10 years agoupdate the compatibility table
Christian Thaeter [Thu, 7 Jan 2010 07:23:40 +0000 (08:23 +0100)]
update the compatibility table

10 years agoMerge remote branch 'plouj/master' into devel
Christian Thaeter [Wed, 6 Jan 2010 15:52:13 +0000 (16:52 +0100)]
Merge remote branch 'plouj/master' into devel

* plouj/master:
  better grammar and sentences
  stop ECHO from logging to syslog

10 years agoMerge branch 'von_benny' into devel
Christian Thaeter [Wed, 6 Jan 2010 15:47:29 +0000 (16:47 +0100)]
Merge branch 'von_benny' into devel

* von_benny:
  Corrections, rearrangement & first sample module.
  Reworked.

10 years agoMerge remote branch 'origin/devel' into mine
Michael Ploujnikov [Tue, 5 Jan 2010 00:53:18 +0000 (19:53 -0500)]
Merge remote branch 'origin/devel' into mine

10 years agobetter grammar and sentences
Michael Ploujnikov [Tue, 5 Jan 2010 00:52:57 +0000 (19:52 -0500)]
better grammar and sentences

10 years agounlock the resource mutex before executing the users code when entering resources
Christian Thaeter [Mon, 4 Jan 2010 12:19:59 +0000 (13:19 +0100)]
unlock the resource mutex before executing the users code when entering resources

waiting on resources lead to a deadlock, its enough when we keel the
resource mutex locked on leave operations.

10 years agoinclude the name of the .test file into the ,testlog
Christian Thaeter [Tue, 22 Dec 2009 03:33:42 +0000 (04:33 +0100)]
include the name of the .test file into the ,testlog

10 years agoWIP: Fix testsuite to run on armel/scratchbox
Christian Thaeter [Tue, 22 Dec 2009 03:26:55 +0000 (04:26 +0100)]
WIP: Fix testsuite to run on armel/scratchbox

10 years agoarmel/gcc needs to cast ~0 to char
Christian Thaeter [Mon, 21 Dec 2009 19:57:05 +0000 (20:57 +0100)]
armel/gcc needs to cast ~0 to char

10 years agoAdd 'msg' command
Christian Thaeter [Mon, 21 Dec 2009 19:32:34 +0000 (20:32 +0100)]
Add 'msg' command

10 years agoremove the 'less than' version check for valgrind
Christian Thaeter [Mon, 21 Dec 2009 02:15:23 +0000 (03:15 +0100)]
remove the 'less than' version check for valgrind

10 years agoFIX: forgot to make valgrind optional
Christian Thaeter [Mon, 21 Dec 2009 02:13:04 +0000 (03:13 +0100)]
FIX: forgot to make valgrind optional

10 years agorefine the mmap_anon configure check, should work this way
Christian Thaeter [Mon, 21 Dec 2009 00:55:50 +0000 (01:55 +0100)]
refine the mmap_anon configure check, should work this way

10 years agoFIX: valgrind newline semantics after 3.5.0 (partial)
Christian Thaeter [Mon, 21 Dec 2009 00:55:02 +0000 (01:55 +0100)]
FIX: valgrind newline semantics after 3.5.0 (partial)

valgrind 3.5.0 decided to supress the newline after a PRINTF message
the user has to supply it by himself. This adds a config test for the
version valgrind and removes the with_pkg check.

It's not clear how Backtraces are formatted, someone needs to check this

10 years agofix and use the mmap-anon.m4 macro for our purpose (untested)
Christian Thaeter [Sun, 20 Dec 2009 19:16:43 +0000 (20:16 +0100)]
fix and use the mmap-anon.m4 macro for our purpose (untested)

10 years agosome (for now enough) documenting work on test.sh
Christian Thaeter [Sun, 20 Dec 2009 17:45:23 +0000 (18:45 +0100)]
some (for now enough) documenting work on test.sh

10 years agolittle more sane watchdog handling, interrupt and break the watchdog
Christian Thaeter [Sun, 20 Dec 2009 00:07:26 +0000 (01:07 +0100)]
little more sane watchdog handling, interrupt and break the watchdog
when the test finished

10 years agoadd test.sh selftests, fix elseif
Christian Thaeter [Sat, 19 Dec 2009 23:33:08 +0000 (00:33 +0100)]
add test.sh selftests, fix elseif

10 years agofix conditions, add 'elseif'
Christian Thaeter [Sat, 19 Dec 2009 21:59:22 +0000 (22:59 +0100)]
fix conditions, add 'elseif'

10 years agoadd literal matching in tests
Christian Thaeter [Sat, 19 Dec 2009 20:47:43 +0000 (21:47 +0100)]
add literal matching in tests

10 years agosupport if: else: endif: conditional tests
Christian Thaeter [Sat, 19 Dec 2009 20:19:18 +0000 (21:19 +0100)]
support if: else: endif: conditional tests

10 years agoimplement LIMIT_TIME for limiting wall time (deadlocks)
Christian Thaeter [Sat, 19 Dec 2009 02:43:37 +0000 (03:43 +0100)]
implement LIMIT_TIME for limiting wall time (deadlocks)

I hope this doesn't break tests implemented as shell functions
(currently not used, untested)

10 years agodont need to export variables
Christian Thaeter [Sat, 19 Dec 2009 02:38:46 +0000 (03:38 +0100)]
dont need to export variables

10 years agoMerge branch 'devel' of git://git.pipapo.org/nobug into mine
Michael Ploujnikov [Fri, 18 Dec 2009 22:57:05 +0000 (17:57 -0500)]
Merge branch 'devel' of git://git.pipapo.org/nobug into mine

10 years agoWIP: documenting and improving test.sh
Christian Thaeter [Fri, 18 Dec 2009 21:08:47 +0000 (22:08 +0100)]
WIP: documenting and improving test.sh

10 years agoMerge branch 'devel' of git://git.pipapo.org/nobug into mine
Michael Ploujnikov [Fri, 18 Dec 2009 02:29:16 +0000 (21:29 -0500)]
Merge branch 'devel' of git://git.pipapo.org/nobug into mine

10 years agorefactor nobug log-locking again
Christian Thaeter [Fri, 18 Dec 2009 02:01:15 +0000 (03:01 +0100)]
refactor nobug log-locking again

move the locking and post-callback back into the function.
nobug_counter is now intrinsic to the log function, uses ringbuffer_append
to complete a log message.

10 years agoadd a 'append' mode for the ringbuffer
Christian Thaeter [Fri, 18 Dec 2009 01:58:34 +0000 (02:58 +0100)]
add a 'append' mode for the ringbuffer

the write position is stepped back by one, but not over the begin of the
last write operation, thus the next printf will append to the last message
instead create a new message entry.

10 years agoDont _exit(0) in vgsuppression
Christian Thaeter [Fri, 18 Dec 2009 00:33:04 +0000 (01:33 +0100)]
Dont _exit(0) in vgsuppression

10 years agoLet VALGRINDFLAGS replace defaults instead extend them
Christian Thaeter [Fri, 18 Dec 2009 00:32:23 +0000 (01:32 +0100)]
Let VALGRINDFLAGS replace defaults instead extend them

This makes it possible to run the test.sh with
 VALGRINDFLAGS=--tool=helgrind
or similar

10 years agoFactor log-locking out to the _LOG macro.
Christian Thaeter [Fri, 18 Dec 2009 00:30:49 +0000 (01:30 +0100)]
Factor log-locking out to the _LOG macro.

the logging-log needs to protect the ++nobug_counter too. Unfortunally the
postlogging callback must be moved to the macros too now. At least its more
correct this way, maybe this needs some more refactoring in future to put
this back into the logging function.

10 years agoMake resource handles typessafe
Christian Thaeter [Fri, 18 Dec 2009 00:27:15 +0000 (01:27 +0100)]
Make resource handles typessafe

This was long overdue, with the new resourcetracker we have 2 kinds of
resourcehandles. Removes all casts, introduces macros for both kinds
of resourcehandles.

10 years agoMerge remote branch 'origin/devel' into mine
Michael Ploujnikov [Thu, 17 Dec 2009 03:29:38 +0000 (22:29 -0500)]
Merge remote branch 'origin/devel' into mine

10 years agostop ECHO from logging to syslog
Michael Ploujnikov [Thu, 17 Dec 2009 03:27:54 +0000 (22:27 -0500)]
stop ECHO from logging to syslog

10 years agosimple doc fixes (PARA's without ;;)
Christian Thaeter [Thu, 17 Dec 2009 00:29:38 +0000 (01:29 +0100)]
simple doc fixes (PARA's without ;;)

10 years agoFix: race conditions in RESOURCE_ENTER/STATE/LEAVE (API Change!)
Christian Thaeter [Thu, 17 Dec 2009 00:27:09 +0000 (01:27 +0100)]
Fix: race conditions in RESOURCE_ENTER/STATE/LEAVE (API Change!)

* RESOURCE_ENTER/STATE/LEAVE become Statement heads now and protect the
  user supplied statement with the resource_mutex. This makes resource
  transitions atomic.

* moved all locking into the macros

* refined example code

10 years agoAC_CHECK_FILE for pkg-config is a bit odd, should work without it
Christian Thaeter [Wed, 16 Dec 2009 13:37:55 +0000 (14:37 +0100)]
AC_CHECK_FILE for pkg-config is a bit odd, should work without it

10 years agollist.h: add rfind, reverse searching through a list
Christian Thaeter [Tue, 8 Sep 2009 04:08:13 +0000 (06:08 +0200)]
llist.h: add rfind, reverse searching through a list

10 years agolet NOBUG_ECHO() barf on the ANN flag
Christian Thaeter [Tue, 15 Dec 2009 18:46:00 +0000 (19:46 +0100)]
let NOBUG_ECHO() barf on the ANN flag

This silences syslog for tests

10 years agoMerge remote branch 'benny_usb/solaris'
Christian Thaeter [Tue, 15 Dec 2009 15:36:43 +0000 (16:36 +0100)]
Merge remote branch 'benny_usb/solaris'

* benny_usb/solaris:
  Minor changes.
  Text restructured.
  NOBUG_INIT() not always required.
  Minor change.
  Slight change.
  Slight changes.
  Slight changes.
  Minimal changes.
  Slightly reworked.
  Reworked.
  Reworked.
  Reworked.
  Text reworked.
  Reworked and comment on Solaris changed.
  Slight changes.
  Rudimentary check for pkg-config

10 years agoCorrections, rearrangement & first sample module.
Benny Lyons [Mon, 14 Dec 2009 16:11:09 +0000 (17:11 +0100)]
Corrections, rearrangement & first sample module.

Text corrected and rearranged. First sample code 'putting all together'.

10 years agoReworked.
Benny Lyons [Fri, 11 Dec 2009 17:01:41 +0000 (18:01 +0100)]
Reworked.

11 years agoMinor changes.
Benny Lyons [Sun, 22 Nov 2009 14:05:24 +0000 (15:05 +0100)]
Minor changes.

11 years agoText restructured.
Benny Lyons [Sun, 22 Nov 2009 13:48:41 +0000 (14:48 +0100)]
Text restructured.

11 years agoNOBUG_INIT() not always required.
Benny Lyons [Sun, 22 Nov 2009 13:32:11 +0000 (14:32 +0100)]
NOBUG_INIT() not always required.

If an enviromnet variable is used, then an environment variable
is initialised via one of the init flags, then NOBUG_INIT() is
not necessary.

11 years agoMinor change.
Benny Lyons [Sun, 22 Nov 2009 13:11:48 +0000 (14:11 +0100)]
Minor change.

11 years agoSlight change.
Benny Lyons [Sun, 22 Nov 2009 13:06:11 +0000 (14:06 +0100)]
Slight change.

11 years agoSlight changes.
Benny Lyons [Thu, 19 Nov 2009 18:56:50 +0000 (19:56 +0100)]
Slight changes.