|
cfe54d6a
|
2023-04-26T13:15:57
|
|
s/this is,/that is,/
|
|
3f2ac7d8
|
2023-02-24T11:48:48
|
|
* src/base/ftsystem.c (ft_ansi_stream_io): Avoid undefined behaviour.
Also short-circuit on `offset` to avoid checking `count` a second time when
`ft_ansi_stream_io` is used for reading.
Per ISO/IEC 9899:
If an argument to a function has an invalid value (such as a value outside
the domain of the function, or a pointer outside the address space of the
program, or a null pointer, or apointer to non-modifiable storage when the
corresponding parameter is not const-qualified) or a type (after
promotion) not expected by a function with variable number of arguments,
the behavior is undefined. If a function argument is described as being
an array, the pointer actually passed to the function shall have a value
such that all address computations and accesses to objects (that would be
valid if the pointer did point to the first element of such an array) are
in fact valid.
Per IEEE Std 1003.1:
size_t fread(void *restrict ptr, size_t size, size_t nitems,
FILE *restrict stream);
The `fread` function shall read into the array pointed to by `ptr` up to
`nitems` elements whose size is specified by `size` in bytes, from the
stream pointed to by `stream`.
Since the first argument to `fread` is described as being an array, its
behavior is undefined when that argument is a null pointer.
Per the documentation on `ft_ansi_stream_io`:
If `count' is zero (this is, the function is used for seeking), a non-zero
return value indicates an error.
Thus the intent is clear, and the call to `fread` can be skipped, avoiding
undefined behaviour.
|
|
65f85237
|
2023-01-17T09:18:25
|
|
Update all copyright notices.
|
|
d0cfb4e1
|
2022-01-11T10:54:10
|
|
Update all copyright notices.
|
|
b6e8a712
|
2021-01-17T07:18:48
|
|
Update all copyright notices.
|
|
6d9e6b21
|
2020-08-28T09:56:38
|
|
* src/*: Fix `-Wformat` warnings.
|
|
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.
|
|
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.
|
|
d71f2bc1
|
2018-10-26T22:52:25
|
|
Revert "Align FreeType with standard C memory management."
This reverts commit 877aa1b2cc662978aae61ed4d5c6ea8ba56b2fe7.
|
|
877aa1b2
|
2018-09-27T21:17:36
|
|
Align FreeType with standard C memory management.
* include/freetype/ftsystem.h: Include FT_TYPES_H.
(*FT_Alloc_Func, *FT_Realloc_Func): Use size_t for the size arguments.
* src/raster/ftmisc.h: Ditto.
* builds/amiga/src/base/ftsystem.c, builds/unix/ftsystem.c,
* builds/vms/ftsystem.c, src/base/ftsystem.c (ft_alloc, ft_realloc):
Use size_t for the size arguments.
* src/base/ftdbgmem.c (ft_mem_debug_alloc, ft_mem_debug_realloc): Use
FT_Offset, aka size_t, for the size arguments.
|
|
a0dd16fb
|
2018-08-15T18:13:17
|
|
Don't use `trace_' prefix for FT_COMPONENT arguments.
* include/freetype/internal/ftdebug.h (FT_TRACE_COMP,
FT_TRACE_COMP_): New auxiliary macros to add `trace_' prefix.
(FT_TRACE): Use `FT_TRACE_COMP'.
*/* (FT_COMPONENT): Updated.
|
|
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.
|
|
0a0c2256
|
2018-01-02T09:33:57
|
|
Update copyright year.
|
|
563ae780
|
2017-01-04T20:16:34
|
|
Update copyright year.
|
|
9adeab64
|
2016-01-13T11:54:10
|
|
Update copyright year.
|
|
9de55e03
|
2015-04-10T23:45:11
|
|
[base] NULL.
|
|
1f377f0d
|
2015-02-16T08:37:09
|
|
* src/base/ftsystem.c: Use casts in standard C function wrappers.
(ft_alloc, ft_realloc, ft_ansi_stream_io, FT_Stream_Open): Do it.
|
|
f57fc59e
|
2015-01-17T20:41:43
|
|
Run `src/tools/update-copyright'.
|
|
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.
|
|
3abf617b
|
2011-07-20T06:48:08
|
|
Add FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT.
Useful for embedded systems which don't need file stream support.
* src/base/ftsystem.c, src/base/ftobjs.c (FT_Stream_New): Implement
it.
|
|
4b718714
|
2010-10-13T16:21:59
|
|
Prevent to open a FT_Stream for zero-sized file on non-Unix.
builds/unix/ftsystem.c prevents to open an useless stream from
zero-sized file and returns FT_Err_Cannot_Open_Stream, but the
stream drivers for ANSI C, Amiga and VMS return useless streams.
For cross-platform consistency, all stream drivers should act
same.
* src/base/ftsystem.c (FT_Stream_Open): If the size of the opened
file is zero, FT_Err_Cannot_Open_Stream is returned.
* builds/amiga/src/base/ftsystem.c (FT_Stream_Open): Ditto.
* src/vms/ftsystem.c (FT_Stream_Open): Ditto.
|
|
75787c19
|
2010-06-26T09:24:08
|
|
Add some memory checks (mainly for debugging).
* src/base/ftstream.c (FT_Stream_EnterFrame): Exit with error
if the frame size is larger than the stream size.
* src/base/ftsystem.c (ft_ansi_stream_io): Exit with error if
seeking a position larger than the stream size.
|
|
efaf5abc
|
2009-08-03T19:55:58
|
|
Don't call `ft_fseek' every time when executing `ft_fread'.
* src/base/ftstream.c (FT_Stream_Seek), src/base/ftsystem.c
(ft_ansi_stream_io): Implement it.
|
|
858abbed
|
2009-06-26T06:15:41
|
|
For warning messages, replace FT_ERROR with FT_TRACE0.
FT_ERROR is now used only if a function produces a non-zero `error'
value.
Formatting, improving and harmonizing debug strings.
|
|
55c40631
|
2008-09-18T11:20:12
|
|
* src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for
orthogonality (ft_free and ft_sfree could belong to different memory
pools). This fixes Savannah bug #24297.
|
|
8fe65390
|
2006-04-29T07:31:16
|
|
Further C library abstraction. Based on a patch from
msn2@bidyut.com.
* include/freetype/config/ftstdlib.h (FT_CHAR_BIT, FT_FILE,
ft_fopen, ft_fclose, ft_fseek, ft_ftell, ft_fread, ft_smalloc,
ft_scalloc, ft_srealloc, ft_sfree, ft_labs): New wrapper macros for
C library functions. Update all users accordingly (and catch some
other places where the C library function was used instead of the
wrapper functions).
* src/base/ftsystem.c: Don't include stdio.h and stdlib.h.
* src/gzip/zutil.h [MSDOS && !(__TURBOC__ || __BORLANDC__)]: Don't
include malloc.h.
|
|
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
|
|
8e6f8c4d
|
2006-02-17T08:07:09
|
|
Formatting, copyright years, documentation improvements.
|
|
cda2d957
|
2006-02-16T22:45:31
|
|
* builds/amiga/src/base/ftsystem.c, devel/ftoption.h
include/freetype/ftcache.h, include/freetype/ftoutln.h,
include/freetype/cache/ftccache.h, include/freetype/cache/ftccmap.h,
include/freetype/config/ftoption.h, include/freetype/internal/ftcalc.h,
include/freetype/internal/ftdriver.h,
include/freetype/internal/ftmemory.h,
include/freetype/internal/ftobjs.h, include/freetype/internal/ftrfork.h,
include/freetype/internal/psaux.h, include/freetype/internal/sfnt.h,
include/freetype/internal/t1types.h, include/freetype/internal/tttypes.h,
src/base/ftcalc.c, src/base/ftdbgmem.c, src/base/ftobjs.c,
src/base/ftsystem.c, src/base/ftutil.c, src/bdf/bdfdrivr.c,
src/cache/ftccache.c, src/cache/ftccback.h, src/cache/ftccmap.c,
src/cache/ftcmanag.c, src/cff/cffdrivr.c, src/cid/cidriver.c,
src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c, src/psaux/psauxmod.c,
src/sfnt/sfdriver.c, src/truetype/ttdriver.c, src/type1/t1driver.c,
src/type1/t1objs.c, src/type42/t42drivr.c, src/winfonts/winfnt.c:
massive changes to the internals to respect the internal object layouts
and exported functions of FreeType 2.1.7. Note that the cache sub-system
cannot be fully retrofitted, unfortunately.
|
|
35bfc0f1
|
2005-11-17T01:53:07
|
|
* src/base/ftcalc.c (FT_MulTo64): Commented out.
* include/freetype/internal/ftcalc.h (FT_SqrtFixed), src/base/ftcalc.c
(FT_SqrtFixed), include/freetype/internal/ftdebug.h
(FT_Trace_Get_Count, FT_Trace_Get_Name, FT_Message, FT_Panic),
src/base/ftdebug.c (FT_Trace_Get_Count, FT_Trace_Get_Name, FT_Message,
FT_Panic), include/freetype/internal/ftobjs.h (FT_New_Memory,
FT_Done_Memory), include/freetype/internal/ftstream.h
(FT_Stream_Open), src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory,
FT_Stream_Open): s/FT_EXPORT/FT_BASE/.
* builds/exports.mk: Manually add TT_New_Context to EXPORTS_LIST too.
|
|
d15bc0d1
|
2002-04-12T09:31:48
|
|
* README.UNX: updated the Unix-specific quick-compilation guide to
warn about the GNU Make requirement at compile time..
* include/freetype/config/ftstdlib.h,
include/freetype/config/ftconfig.h,
include/freetype/config/ftheader.h,
include/freetype/internal/ftmemory.h,
include/freetype/internal/ftobjs.h,
src/autohint/ahoptim.c,
src/base/ftdbgmem.c, src/base/ftdebug.c,
src/base/ftmac.c, src/base/ftobjs.c,
src/base/ftsystem.c,
src/cache/ftcimage.c, src/cache/ftcsbits.c,
src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
src/pcf/pcfdriver.c, src/pcf/pcfread.c,
src/psaux/t1cmap.c, src/psaux/t1decode.c,
src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
src/pshinter/pshrec.c,
src/psnames/psmodule.c,
src/raster/ftraster.c,
src/sfnt/sfdriver.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
src/smooth/ftgrays.c,
src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c:
added the new configuration file "ftstdlib.h" used to define
aliases for all ISO C library functions used by the engine
(e.g. strlen, qsort, setjmp, etc...)
this eases the porting of FreeType 2 to exotic environments like
XFree86 modules/extensions..
also removed many #include <string.h>, #include <stdlib.h>, etc...
from the engine's sources where they're not needed..
|
|
b1e6e597
|
2002-03-29T07:43:04
|
|
* builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to
FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h
files.
* builds/unix/ftconfig.in: Add argument to FT_LOCAL and
FT_LOCAL_DEF.
* src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/.
* builds/unix/configure.ac: Temporarily deactivate creation of
../../Jamfile.
* builds/unix/configure: Updated.
|
|
53b3fa1d
|
2002-02-24T05:26:57
|
|
* renaming stream functions to the FT_Subject_Action scheme:
FT_Seek_Stream => FT_Stream_Seek
FT_Skip_Stream => FT_Stream_Skip
FT_Read_Stream => FT_Stream_Read
FT_Read_Stream_At => FT_Stream_Read_At
FT_Access_Frame => FT_Stream_Enter_Frame
FT_Forget_Frame => FT_Stream_Exit_Frame
FT_Extract_Frame => FT_Stream_Extract_Frame
FT_Release_Frame => FT_Stream_Release_Frame
FT_Get_XXXX => FT_Stream_Get_XXXX
FT_Read_XXXX => FT_Stream_Read_XXXX
note also that:
FT_New_Stream( filename, stream ) =>
FT_Stream_Open( stream, filename )
(the function doesn't create the FT_Stream structure, it simply
initializes it for reading)
FT_New_Memory_Stream( library, FT_Byte* base, size, stream ) =>
FT_Stream_Open_Memory( stream, const FT_Byte* base, size )
FT_Done_Stream => FT_Stream_Close
note that the name of the stream methods, defined in
"include/freetype/ftsystem.h" have also been changed without
problems:
FT_Stream_IO => FT_Stream_IOFunc
FT_Stream_Close => FT_Stream_CloseFunc
|
|
5a1de37e
|
2001-10-24T07:32:55
|
|
replaced liberal uses of "memset" by the "MEM_Set" macro call
(some platforms don't provide this ANSI function !!)
some changes to "ftsystem.c" implementations in order to use
the new memory debugger on Unix, VMS and Amiga too !!
|
|
869fc490
|
2001-10-22T08:32:21
|
|
Added a new debugging memory manager implementation. See the
FT_DEBUG_MEMORY macro definition in "ftoption.h", as well as the
file "src/base/ftdbgmem.c"
|
|
415235df
|
2001-06-28T17:49:10
|
|
finishing function header formatting
updating copyrights
|
|
f814d0fa
|
2001-06-27T16:18:10
|
|
First round in converting
type foo ( ... )
to
type
foo ( ... )
Other minor formatting issues.
|
|
dee78134
|
2001-06-27T09:26:46
|
|
* include/freetype/ftconfig.h, src/*/*.c: changed the definition and
uses of the FT_CALLBACK_DEF macro in order to support 16-bit compilers
|
|
d5c1b27d
|
2000-12-12T22:28:12
|
|
* include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT):
Removed. ANSI C doesn't (explicitly) allow macro expansion in
arguments using `##'.
(FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory
names directly. Make them configurable. Use `##' to strip leading
and trailing spaces from arguments.
* builds/unix/ft2unix.h: Adapted.
* src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream,
ft_close_stream): Use FT_CALLBACK_DEF.
* builds/unix/ftsystem.c: Use new header scheme.
(FT_Done_Memory): Use free() from FT_Memory structure.
* src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes.
* include/freetype/config/ft2build.h (FT2_CONFIG_ROOT,
FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE,
FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
|
|
cc069beb
|
2000-12-08T16:17:16
|
|
cleanups
|
|
19ed8afe
|
2000-12-08T02:42:29
|
|
- updated all source files to adhere to the new inclusion scheme
- the CFF loader now loads the encodings and charset tables
though doesn't use them for now
|
|
ca8d1cda
|
2000-12-05T21:32:02
|
|
fixed small error in last update of FT_Done_Memory
|
|
e646ff6f
|
2000-12-05T08:39:14
|
|
fixed an obvious bug in FT_Done_Memory. The ANSI "free" function
was called, instead of "memory->free" !!
|
|
90a03301
|
2000-11-07T17:21:11
|
|
All function comments are now removed from source files (and moved to the
header files if necessary).
Some minor fixes to have `make multi' run successfully (with gcc and g++).
Fixing compiler warnings.
|
|
4b68007b
|
2000-11-07T06:30:29
|
|
Complementing David's changes with formatting, adding documentation, etc.
More `*'-convention formatting, adding the `a' resp. `an' prefix to
variables.
|
|
8c883fb5
|
2000-11-05T23:41:08
|
|
minor fixes.
Add more gcc warnings for development on UNIX.
|
|
76a5f623
|
2000-11-04T01:55:49
|
|
major reformatting of the sources:
FT_EXPORT_DEF => FT_EXPORT
FT_EXPORT_FUNC => FT_EXPORT_DEF
BASE_DEF => FT_BASE
BASE_FUNC => FT_BASE_DEF
LOCAL_DEF => FT_LOCAL
LOCAL_FUNC => FT_LOCAL_DEF
LOCAL_FUNC_X => FT_CALLBACK_DEF
LOCAL_DEF_X => FT_CALLBACK_TABLE
FT_CPLUSPLUS => FT_CALLBACK_TABLE_DEF
|
|
58b17f96
|
2000-07-27T23:29:08
|
|
Formatting.
|
|
c5cdf8bc
|
2000-07-27T21:40:22
|
|
re-adding a "unix-dev.mk". Debugging libtool output
is just too much of a pain for me, I prefer a good old
static lib without optimizations :-)
"make devel" is back on Unix then..
|
|
d060a75b
|
2000-07-20T06:57:41
|
|
Formatting.
Rudimentary support for autoconf (still using GNU make)
Say `make unix'.
|
|
bd5ae400
|
2000-07-05T04:32:02
|
|
Run g++ on the FreeType library. This should make the use of code in
C++ programs easier:
Renamed FT_WordXX to FT_UIntXX.
Changed a lot of void* to FT_Byte* if related to i/o streams -- FreeType
always accesses streams byte-wise, so this makes sense IMHO.
Added a lot of #ifdef __cplusplus to header files (and removed a few).
Other minor syntax fixes (mostly casts).
Replaced the variable `private' with `private_dict' -- `private' is
reserved in C++.
|
|
c6a92202
|
2000-07-04T18:12:13
|
|
various clean-ups:
- using FT_UNUSED instead of UNUSED
- using FT_LONG64 and FT_INT64 instead of LONG64 & INT64
- using FT_SIZEOF_INT & FT_SIZEOF_LONG instead of...
- removed the #ifdefs that used SIZEOF_INT, instead we now
use FT_Int32 and FT_UInt32 when needed to support
32-bits quantity correctly on 64-bits systems..
|
|
deb4e983
|
2000-06-29T03:14:25
|
|
Formatting...
Preprocessor lines now always start the line.
Improved error handling in `base' module.
Fixed a out-of-bounds error in ttgload.
|
|
4e6dd858
|
2000-06-05T05:26:15
|
|
freetype.h: Adding ft_encoding_xxx values for some CJK encodings.
Fixing copyright notice on many files.
Changed some tracing levels.
A lot of formatting, fixing documentation etc. as usual.
|
|
9a754ce3
|
2000-06-02T21:31:32
|
|
Formatting; adding some tracing code.
|
|
91e52d41
|
2000-06-02T14:30:38
|
|
Finishing first formatting/documenting etc. of the `base' dir. Some modules
are still badly documented, though...
|
|
1fb6eea7
|
2000-05-24T00:31:14
|
|
EXPORT_DEF renamed to FT_EXPORT_DEF +
reformating/spacing
|
|
e49ab25c
|
2000-05-16T23:44:38
|
|
formatting - removed trailing spaces
|
|
c30aea98
|
2000-05-12T15:01:18
|
|
another massive changes in order to completely avoid
compiler warnings with GCC + "-ansi -pedantic -Wall -W"
and LCC.
Also fixed the compilation of "type1z" with Win32-LCC
(its pre-processor is broken !!)
Updated the BUILD document too
|
|
bfe2f98f
|
2000-05-12T12:17:15
|
|
a new massive grunt work. Redefined the EXPORT_DEF,
EXPORT_FUNC, BASE_DEF and BASE_FUNC macros to
let them take an argument..
This is needed to compile the library as a DLL on some platforms
that have different compiler conventions..
|
|
efce08d6
|
2000-05-11T18:23:52
|
|
major re-organisation of the FreeType 2 directory hierarchy
|
|
e755002d
|
2000-02-29T17:11:53
|
|
moved the ANSI "ftsystem.c" to src/base
|