|
87989a14
|
2022-03-31T07:43:41
|
|
Fix clang++ warnings.
* src/base/ftglyph.c (ft_svg_glyph_prepare), src/base/ftobj.c
(ft_glyphslot_init), src/cache/ftccmap.c (ftc_cmap_node_new),
src/cache/ftcimage.c (FTC_INode_New), src/lzw/ftlzw.c (FT_Stream_OpenLZW),
src/psaux/psobjs.c (ps_parser_load_field), src/pshinter/pshglob.c
(psh_globals_new), src/sfnt/ttsvg.c (tt_face_load_svg_doc): Initialize
variables used for allocation.
* src/sdf/ftsdf.c (split_sdf_conic, split_sdf_cubic): Change type of
`max_splits` to FT_UInt.
(sdf_generate_bounding_box): Add cast.
|
|
ee52b571
|
2022-01-13T09:45:48
|
|
* src/lzw/ftlzw.c (FT_Stream_OpenLZW): Avoid unnecessary zeroing.
|
|
d0cfb4e1
|
2022-01-11T10:54:10
|
|
Update all copyright notices.
|
|
612925ff
|
2021-09-01T21:37:21
|
|
s/0/NULL/ where appropriate.
|
|
f631542d
|
2021-04-27T11:39:58
|
|
[lzw] Preserve decompression stack when relocating to heap.
* src/lzw/ftzopen.c (ft_lzwstate_stack_grow): Copy stack when
relocating to heap.
|
|
b6e8a712
|
2021-01-17T07:18:48
|
|
Update all copyright notices.
|
|
0f35b042
|
2020-07-06T10:56:36
|
|
[build] Really fix multi and C++ builds.
The following builds were still failing due to previous changes:
make multi
make multi CC="c++"
make CC="c++"
This patch fixes the issues, which were missing includes to get the
right macro definitions in multi-build mode.
Also, `FT_UNUSED' is actually used by third-party code, so move it
back to `public-macros.h' to avoid breaking it.
* include/freetype/config/public-macros.h (FT_EXPORT): Remove
special definition for C++.
(FT_UNUSED): Define here instead of...
* include/freetype/config/compiler-macros.h: ... here.
(FT_FUNCTION_DECLARATION): Remove special definition for C++.
(FT_LOCAL_ARRAY_DEF): Fix definition.
* src/cache/ftccback.h, src/lzw/ftzopen.h, src/gxvalid/gxvmort.h,
src/gxvalid/gxvmorx.h: Add `FT_BEGIN_HEADER' and `FT_END_HEADER'.
|
|
16586859
|
2020-06-13T21:15:45
|
|
Remove redundant inclusion of `ft2build.h'.
* */*: Remove `#include <ft2build.h>' where possible.
* include/freetype/freetype.h: Remove cpp error about missing
inclusion of `ft2build.h'.
|
|
e1339133
|
2020-06-08T13:31:55
|
|
Make macros for header file names optional.
We no longer have to take care of the 8.3 file name limit; this
allows us (a) to introduce longer, meaningful file names, and (b) to
avoid macro names in `#include' lines altogether since some
compilers (most notably Visual C++) doesn't support this properly.
*/*: Replace
#include FOO_H
with
#include <freetype/foo.h>
or something similar. Also update the documentation.
|
|
4eee1340
|
2020-05-18T09:16:12
|
|
Remove Jamfile files from the tree.
These have not been used in a very, very long time, so better remove
them. A corresponding patch will be submitted to the
`freetype2-demos' repository.
* src/Jamfile, src/*/Jamfile, Jamrules: Delete.
|
|
e5038be7
|
2020-01-19T17:05:19
|
|
Update all copyright notices.
|
|
75859970
|
2019-02-23T10:07:09
|
|
Update all copyright notices.
|
|
f686ad46
|
2019-01-22T20:31:44
|
|
Update copyright years.
|
|
9ac9060d
|
2018-06-03T09:01:17
|
|
[GSoC] src/*.*: Convert block comments to `light' style.
This monster commit was created by applying Nikhil's scripts
`docconverter.py' and `markify.py' to all C header and source files,
followed up by minor manual clean-up.
No change in functionality, of course.
I used commit f7419907bc6044b9b7057f9789866426c804ba82 from
https://github.com/nikramakrishnan/freetype-docs.git.
|
|
95149592
|
2018-05-02T20:27:48
|
|
Remove FT_CONFIG_OPTION_PIC and related code.
*/* [FT_CONFIG_OPTION_PIC]: Remove all code guarded by this
preprocessor symbol.
*/*: Replace `XXX_GET' macros (which could be either a function in
PIC mode or an array in non-PIC mode) with `xxx' arrays.
* include/freetype/internal/ftpic.h, src/autofit/afpic.c,
src/autofit/afpic.h, src/base/basepic.c, src/base/basepic.h,
src/base/ftpic.c, src/cff/cffpic.c, src/cff/cffpic.h,
src/pshinter/pshpic.c, src/pshinter/pshpic.h, src/psnames/pspic.c,
src/psnames/pspic.h, src/raster/rastpic.c, src/raster/rastpic.h,
src/sfnt/sfntpic.c, src/sfnt/sfntpic.h, src/smooth/ftspic.c,
src/smooth/ftspic.h, src/truetype/ttpic.c, src/truetype/ttpic.h:
Removed.
|
|
0a0c2256
|
2018-01-02T09:33:57
|
|
Update copyright year.
|
|
563ae780
|
2017-01-04T20:16:34
|
|
Update copyright year.
|
|
f80c4473
|
2016-12-26T23:57:45
|
|
Replace `++foo' and `--foo' with `foo++' and `foo--', resp.
|
|
8521ad99
|
2016-08-16T13:44:38
|
|
[lzw] Optimize last commit.
* src/lzw/ftzopen.c (ft_lzwstate_get_code): Move check into
conditional clause.
|
|
548f68d8
|
2016-08-16T09:46:40
|
|
[lzw] Avoid invalid left shift.
* src/lzw/ftzopen.c (ft_lzwstate_get_code): Limit `num_bits'.
|
|
8d7b9198
|
2016-08-16T08:07:58
|
|
[lzw] Avoid buffer overrun.
Reported as
https://bugzilla.mozilla.org/show_bug.cgi?id=1273283
* src/lzw/ftzopen.c (ft_lzwstate_refill): Ensure `buf_size' doesn't
underflow.
|
|
9adeab64
|
2016-01-13T11:54:10
|
|
Update copyright year.
|
|
37412ff9
|
2016-01-12T21:37:13
|
|
Don't use macro names that contain `__' [1/2].
Such macro names are reserved for both C and C++.
*/*: Replace macros of the form `__XXX_H__' with `XXX_H_'.
|
|
41877539
|
2015-09-26T15:19:54
|
|
[bzip2, gzip, lzw] Harmonize function signatures with prototype.
Suggested by Hin-Tak Leung.
* src/bzip2/ftbzip2.c (ft_bzip2_stream_io), src/gzip/ftgzip.c
(ft_gzip_stream_io), src/lzw/ftlzw.c (ft_lzw_stream_io): Do it.
|
|
3e587796
|
2015-03-11T07:14:15
|
|
Minor copyright and e-mail address issues.
|
|
83d4181a
|
2015-02-25T08:10:58
|
|
[lzw] Signedness fixes.
* src/lzw/ftzopen.c, src/lzw/ftzopen.h: Apply.
|
|
f57fc59e
|
2015-01-17T20:41:43
|
|
Run `src/tools/update-copyright'.
|
|
f796cf6c
|
2015-01-17T20:11:10
|
|
Normalize copyright notice format.
|
|
36d03c9f
|
2015-01-12T11:26:30
|
|
Fix Savannah bug #43976.
Assure that FreeType's internal include directories are found before
`CPPFLAGS' (which might be set by the user in the environment), and
`CPPFLAGS' before `CFLAGS'.
* builds/freetype.mk (FT_CFLAGS): Don't add `INCLUDE_FLAGS'.
(FT_COMPILE): Make this a special variable for compiling only the
files handled in `freetype.mk'.
(.c.$O): Removed, unused.
* src/*/rules.mk (*_COMPILE): Fix order of include directories.
|
|
0098d550
|
2014-12-07T11:03:57
|
|
Uppercase all hex digits for orthogonality.
|
|
f34f1925
|
2014-11-26T21:59:21
|
|
* src/*: Add checks for parameters of API functions where missing.
`API functions' are functions tagged with `FT_EXPORT_DEF'.
Besides trivial fixes, the following changes are included, too.
* src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Set
error code if no service is available.
* src/base/ftinit.c (FT_Done_FreeType): Change return value for
invalid `library' parameter to `Invalid_Library_Handle'.
* src/base/ftobjs.c (FT_New_Size): Change return value for invalid
`asize' parameter to `Invalid_Argument'.
* src/base/ftoutln.c (FT_Outline_Copy): Change return value for
invalid `source' and `target' parameters to `Invalid_Outline'.
(FT_Outline_Done_Internal): Change return value for invalid
`outline' parameter to `Invalid_Outline'.
|
|
dc624ca4
|
2013-06-04T10:30:48
|
|
Apply fixes for cppcheck nitpicks.
http://cppcheck.sourceforge.net/
Note that the current version heavily chokes on FreeType, delivering
even wrong results. I will report those issues to the cppcheck team
so that a newer version gives improved results hopefully.
*/* Improve variable scopes.
*/* Remove redundant initializations which get overwritten.
* src/base/ftmac.c ,builds/mac/ftmac.c (count_faces_scalable):
Remove unused variable.
* src/base/ftdbgmem.c (ft_mem_table_destroy): `table' can't be zero.
* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt1_entry_validate):
Remove functionless code.
* src/tools/ftrandom.c (main): Fix memory leak.
|
|
e3c93015
|
2013-03-14T11:21:17
|
|
*/*: Use FT_Err_Ok only.
This is a purely mechanical conversion.
|
|
059bc335
|
2013-03-14T10:27:35
|
|
*/*: Use `FT_THROW'.
This is essentially a mechanical conversion, adding inclusion of
`FT_INTERNAL_DEBUG_H' where necessary, and providing the macros for
stand-alone compiling modes of the rasterizer modules.
To convert the remaining occurrences of FT_Err_XXX and friends it is
necessary to rewrite the code. Note, however, that it doesn't harm
if some cases are not handled since FT_THROW is a no-op.
|
|
26dfeb6d
|
2012-03-08T06:04:03
|
|
Prepare source code for amalgamation.
* src\autofit\aferrors.h, src\bdf\bdferror.h, src\bzip2\ftbzip2.c,
src\cache\ftcerror.h, src\cff\cfferrs.h, src\cid\ciderrs.h,
src\gxvalid\gxverror.h, src\gzip\ftgzip.c, src\lzw\ftlzw.c,
src\otvalid\otverror.h, src\pcf\pcferror.h, src\pfr\pfrerror.h,
src\psaux\psauxerr.h, src\pshinter\pshnterr.h,
src\psnames\psnamerr.h, src\raster\rasterrs.h, src\sfnt\sferrors.h,
src\smooth\ftsmerrs.h, src\truetype\tterrors.h,
src\type1\t1errors.h, src\type42\t42error.h, src\winfonts\fnterrs.h:
Add #undef FT_ERR_PREFIX before #define FT_ERR_PREFIX.
|
|
1749d8bc
|
2012-01-17T02:00:24
|
|
Remove trailing spaces.
|
|
487913d9
|
2011-09-11T09:18:10
|
|
Slightly improve LZW_CLEAR handling.
* src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_CODE>:
Ensure that subsequent (modulo garbage byte(s)) LZW_CLEAR codes are
handled as clear codes. This also re-sets old_code and old_char to
predictable values, which is a little better than using `random'
ones if the code following LZW_CLEAR is invalid.
|
|
83cb6c00
|
2011-09-11T09:13:45
|
|
Add explicit LZW decompression stack size limit.
Stack larger than 1<<LZW_MAX_BITS is never needed if prefix table is
constructed correctly. It's even less than that, see e.g.
libarchive code comment for a better size upper bound:
http://code.google.com/p/libarchive/source/browse/trunk/libarchive/archive_read_support_filter_compress.c?r=3635#121
This patch adds explicit stack size limit, enforced when stack is
realloced.
An alternative is to ensure that code < state->prefix[code - 256]
when traversing prefix table. Such check is less efficient and
should not be required if prefix table is constructed correctly in
the first place.
* src/lzw/ftzopen.c (ft_lzwstate_stack_grow): Implement it.
|
|
86c3c69c
|
2011-09-11T09:08:40
|
|
Protect against loops in the prefix table.
LZW decompressor did not sufficiently check codes read from the
input LZW stream. A specially-crafted or corrupted input could
create a loop in the prefix table, which leads to memory usage
spikes, as there's no decompression stack size limit.
* src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_START>: First
code in valid LZW stream must be 0..255.
<FT_LZW_PHASE_CODE>: In the special KwKwK case, code == free_ent,
code > free_ent is invalid.
|
|
e62c876b
|
2011-06-15T02:48:33
|
|
Fix g++4.6 compiler warnings in module drivers.
The background is same with previous commit.
* src/truetype/ttgxvar.c (ft_var_readpackedpoints):
Init `points'. (TT_Vary_Get_Glyph_Deltas): Init
`delta_xy'. (TT_Get_MM_Var): Init `mmvar'.
* src/type1/t1load.c (T1_Get_MM_Var): Ditto.
* src/cff/cffdrivr.c (cff_ps_get_font_info): Init
`font_info'.
* src/cff/cffload.c (cff_index_get_pointers): Init `t'.
(cff_font_load): Init `sub'.
* src/cff/cffobjs.c (cff_size_init): Init `internal'.
(cff_face_init): Init `cff'.
* src/pfr/pfrload.c (pfr_extra_item_load_stem_snaps):
Init `snaps'.
* src/pcf/pcfread.c (pcf_get_properties): Init `properties'.
(pcf_get_bitmaps): Init `offsets'. (pcf_get_encodings):
Init `tmpEncoding'.
* src/sfnt/ttload.c (tt_face_load_gasp): Init `gaspranges'.
* src/sfnt/ttsbit.c (Load_SBit_Image): Init `components'.
* src/cache/ftcmru.c (FTC_MruList_New): Init `node'.
* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Init `zip' and
`zip_buff'.
* src/lzw/ftlzw.c (FT_Stream_OpenLZW): Init `zip'.
* src/bzip2/ftbzip2.c (FT_Stream_OpenBzip2): Init `zip'.
|
|
f765e440
|
2010-06-24T10:34:29
|
|
*/*: Use module specific error names where appropriate.
|
|
fc58155a
|
2010-01-05T20:00:35
|
|
Apply reports from clang static analyzer.
* src/lzw/ftlzw.c (ft_lzw_file_init), src/base/ftstroke.c
(FT_Stroker_ParseOutline), src/base/ftsynth.c
(FT_GlyphSlot_Embolden): Remove dead code.
* src/base/ftpatent.c (_tt_check_patents_in_table): Initialize
`offset_i'.
|
|
f420757c
|
2009-08-01T00:30:14
|
|
lzw: Count the size of the memory object by ptrdiff_t.
|
|
1dcd0f23
|
2009-04-05T18:25:14
|
|
Add #error to modules and files that do not support PIC yet.
When FT_CONFIG_OPTION_PIC is defined the following files will
create #error:
* src/bdf/bdfdrivr.h
* src/cache/ftcmanag.c
* src/cid/cidriver.h
* src/gxvalid/gxvmod.h
* src/gzip/ftgzip.c
* src/lzw/ftlzw.c
* src/otvalid/otvmod.h
* src/pcf/pcfdrivr.h
* src/pfr/pfrdrivr.h
* src/psaux/psauxmod.h
* src/type1/t1driver.h
* src/type42/t42drivr.h
* src/winfonts/winfnt.h
|
|
a49db4f8
|
2009-03-20T07:30:43
|
|
Copyright.
|
|
0a05ba25
|
2009-03-20T07:19:45
|
|
Protect against malformed compressed data.
Problem reported by Tavis Ormandy <taviso@google.com>.
* src/lsw/ftzopen.c (ft_lzwstate_io): Test whether `state->prefix' is
zero.
|
|
24d72a1b
|
2009-01-13T17:34:48
|
|
Don't use stdlib.h and friends directly.
Reported by Mickey Gabel <mickey@monfort.co.il>.
* src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
* src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h:
s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
* src/autofit/aftypes.h, src/autofit/afhints.c,
src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/
* src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h.
|
|
2b0b4221
|
2008-05-28T22:17:28
|
|
Cosmetic code changes.
|
|
1c8980ef
|
2007-05-25T07:11:12
|
|
* docs/CHANGES: Updated.
Formatting.
|
|
3e2f953a
|
2007-05-22T13:10:59
|
|
real fix for bug #19910. the .Z format is really badly designed :-(
|
|
0d0365ec
|
2007-05-22T09:53:44
|
|
avoid heap explosion in the case of malformed .Z font files
related to bug #19910, but not a bugfix yet
|
|
4f3b5bbd
|
2006-05-04T07:13:05
|
|
* src/lzw/ftlzw2.c: Renamed to...
* src/lzw/ftlzw.c: This.
* src/lzw/Jamfile, src/lzw/rules.mk: Updated.
* builds/mac/FreeType.m68k_cfm.make.txt,
builds/mac/FreeType.m68k_far.make.txt,
builds/mac/FreeType.ppc_carbon.make.txt,
builds/mac/FreeType.ppc_classic.make.txt: Updated.
|
|
c6afa122
|
2006-05-02T22:22:16
|
|
* include/freetype/internal/ftmemory.h: s/new/newsz/ (for C++).
(FT_ALLOC): Remove redundant redefinition.
* builds/compiler/gcc-dev.mk (CFLAGS) [g++]: Don't use
`-Wstrict-prototypes'.
* src/base/ftstream.c (FT_Stream_EnterFrame): Add cast.
Formatting, copyright years.
|
|
9ca78256
|
2006-05-02T09:00:29
|
|
* include/freetype/internal/ftmemory.h, src/base/ftbitmap.c,
src/base/ftmac.c, src/base/ftrfork.c, src/lzw/ftzopen.c,
src/raster/ftrend1.c, src/sfnt/ttpost.c, src/truetype/ttgxvar.c,
src/type42/t42parse.c, src/winfonts/winfnt.c: hardening the code
against out-of-bounds conditions when allocating arrays. This is
for the cases where FT_NEW_ARRAY and FT_RENEW_ARRAY are not used
already. Introducing the new FT_ALLOC_MULT and FT_REALLOC_MULT
macros.
|
|
50ef72b6
|
2006-04-29T07:02:36
|
|
* src/lzw/ftlzw.c, src/lzw/zopen.c, src/lzw/zopen.h: Removed,
obsolete.
|
|
af16820a
|
2006-03-24T12:46:49
|
|
Normalize quotation to `...'.
|
|
7f049f42
|
2006-02-25T16:52:16
|
|
Formatting, copyright years.
|
|
de271ab8
|
2006-02-25T14:53:02
|
|
* builds/unix/ftsystem.c, include/freetype/config/ftheader.h,
include/freetype/internal/services/svotval.h,
include/freetype/internal/services/svpfr.h,
src/base/ftsystem.c, src/bdf/bdfdrivr.c, src/cache/ftcbasic.c,
src/cff/cffcmap.c, src/gzip/ftgzip.c, src/lzw/ftlzw.c,
src/lzw/ftlzw2.c, src/psaux/t1cmap.c, src/sfnt/ttbdf.c,
src/smooth/ftgrays.c:
solved -Wmissing-prototypes warnings with GCC
|
|
84cacd23
|
2005-10-23T19:25:41
|
|
formatting, comment clean-up
|
|
398d64c0
|
2005-10-21T10:01:25
|
|
* src/base/ftdbgmem.c: another realloc memory counting bug fix
* src/tools/Jamfile: adding missing file
* src/lzw/Jamfile: fixing incorrect source file reference
|
|
560d5fed
|
2005-10-21T09:08:28
|
|
Minor cleanups.
Copyright issues.
|
|
c1b6d082
|
2005-10-20T15:33:34
|
|
* src/base/ftdbgmem.c: fixes to better account for memory reallocations
* src/lzw/ftlzw2.c, src/lzw/ftzopen.h, src/lzw/ftzopen.c, src/lzw/rules.mk:
first version of LZW loader re-implementation. Apparently, saves about
260 KB of heap memory when loading tir24.pcf.Z
|
|
60a04df7
|
2005-06-04T23:04:30
|
|
Add license.
|
|
22ad9ef0
|
2005-05-09T22:11:36
|
|
Handle unsorted SFNT type 4 cmaps correctly (reported by Dirck
Blaskey).
* src/sfnt/ttcmap.h (TT_CMap): Add member `unsorted'.
* src/sfnt/ttcmac.c: Use SFNT_Err_Ok where appropriate.
(tt_cmap0_validate, tt_cmap2_validate, tt_cmap6_validate,
tt_cmap8_validate, tt_cmap10_validate, tt_cmap12_validate): Use
`FT_Error' as return type.
(tt_cmap4_validate): Use `FT_Error' as return type.
Return error code for unsorted cmap.
(tt_cmap4_char_index, tt_cmap4_char_next): Use old code for unsorted
cmaps.
(tt_face_build_cmaps): Set `unsorted' variable in cmap.
Minor formatting.
|
|
750fa961
|
2005-05-01T10:11:32
|
|
* Jamfile: removing otvalid from the list of compiled modules
* include/freetype/internal/ftserv.h: added compiler pragmas to get rid
of annoying warnings with Visual C++ compiler in maximum warning mode
* src/autofit/afhints.c, src/autofit/aflatin.c, src/base/ftstroke.c,
src/bdf/bdfdrivr.c, src/cache/ftcbasic.c, src/cache/ftccmap.c,
src/cache/ftcmanag.c, src/cff/cffload.c, src/cid/cidload.c,
src/lzw/zopen.c, src/otvalid/otvgdef.c, src/pcf/pcfread.c,
src/sfnt/sfobjs.c, src/truetype/ttgxvar.c: removing compiler warnings
|
|
ebf5585d
|
2005-03-16T01:49:54
|
|
Formatting.
|
|
68df4f73
|
2005-03-15T18:18:57
|
|
* src/bdf/bdflib.c: various improvements to the bdf loader, mainly
used to reduce the amount of heap size required to only test wether
we're dealing with a BDF font (the old code allocated 64 Kb right
before any test).
* src/lzw/ftlzw.c (FT_Stream_OpenLZW): modified the function to check
the LZW header before doing anything else. This helps avoid un-necessary
heap allocations (400 Kb of heap memory for the LZW decoder ! Oh my !)
* src/gzip/ftgzip.c (FT_Stream_OpenGZip): ditto for the .gz decoder,
though the code savings is smaller.
|
|
f9b44e30
|
2004-06-15T13:57:00
|
|
* src/lzw/zopen.c: Comment out inclusion of `signal.h' and `unistd.h'.
|
|
10bf05a3
|
2004-04-21T14:30:37
|
|
* src/cff/cffobjs.c (cff_face_init): fixed a small memory leak
* src/autofit/afloader.c, src/autofit/afmodule.c, src/base/ftdebug.c:
removed compiler warnings
* src/autofit/aftypes.h, src/lzw/zopen.c, src/pcf/pcfdrivr.c,
src/pcf/pcfread.c, src/psaux/psobjs.c, src/type42/t42drivr.c:
changed data arrays to "const" to avoid populating the ".data"
segment
|
|
497cc7c4
|
2004-04-12T18:09:00
|
|
Jamfile to bring in the new lzw module.
My first try at this exercise, please report problems, I lack experience! Antoine
|
|
161438c5
|
2004-04-12T15:31:30
|
|
* src/lzw/zopen.c: Don't include sys/param.h and sys/stat.h.
|
|
391de1a6
|
2004-04-11T16:44:54
|
|
* src/lzw/ftlzw.c: Include zopen.h dependent on
FT_CONFIG_OPTION_USE_LZW.
* src/base/ftdebug.c: s/index/idx/ to avoid compiler warnings.
|
|
6ea2054f
|
2004-03-05T10:07:37
|
|
Initial revision
|