[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] priyesh_LogLibrary 421bb58: Added functions to initialize an
From: |
Priyesh Kumar |
Subject: |
[freetype2] priyesh_LogLibrary 421bb58: Added functions to initialize and un-initialize logging |
Date: |
Mon, 29 Jun 2020 12:23:59 -0400 (EDT) |
branch: priyesh_LogLibrary
commit 421bb589e67d1bbdd9b052522417481b67cc0a12
Author: Priyeshkkumar <priyeshkkumar@gmail.com>
Commit: Priyeshkkumar <priyeshkkumar@gmail.com>
Added functions to initialize and un-initialize logging
---
[priyesh]ChangeLog | 13 ++++++++++++-
include/freetype/internal/ftdebug.h | 19 +++++++++++++++++++
src/base/ftdebug.c | 32 ++++++++++++++++++++++++++++++++
src/base/ftinit.c | 10 ++++++++++
4 files changed, 73 insertions(+), 1 deletion(-)
diff --git a/[priyesh]ChangeLog b/[priyesh]ChangeLog
index 0f84213..7c91f11 100644
--- a/[priyesh]ChangeLog
+++ b/[priyesh]ChangeLog
@@ -12,4 +12,15 @@
* include/freetype/internal/ftdebug.h: Created an environment for dlg
support in FreeType.
-
\ No newline at end of file
+
+ * include/freetype/internal/ftdebug.h: Added functions `ft_logging_init()`
and `ft_logging_deinit()` for
+ initializing and un-initalizing FILE*.
+
+ * src/base/ftdebug.c:
+ 1. Added a FILE* to write logs to file
+ 2. Added function definitions for functions
+ `ft_logging_init()` and `ft_logging_deinit()`.
+
+ * src/base/ftinit.c:
+ 1. Added a function call to `ft_logging_init()` in `FT_Init_FreeType()`
if FT_LOGGING macro is enabled.
+ 2. Added a function call to `ft_logging_deinit()` in
`FT_Done_FreeType()` if FT_LOGGING macro is enabled.
\ No newline at end of file
diff --git a/include/freetype/internal/ftdebug.h
b/include/freetype/internal/ftdebug.h
index 469220c..4bc8104 100644
--- a/include/freetype/internal/ftdebug.h
+++ b/include/freetype/internal/ftdebug.h
@@ -307,6 +307,25 @@ FT_BEGIN_HEADER
FT_BASE( void )
ft_debug_init( void );
+#ifdef FT_LOGGING
+
+ /************************************************************************
+ *
+ * If FT_LOGGING macro is enabled, Freetype needs to initialize and
+ * un-initialize FILE* using following functions
+ * These functions are defined in ftdebug.c
+ *
+ */
+
+ FT_BASE( void )
+ ft_logging_init( void );
+
+ FT_BASE( void )
+ ft_logging_deinit( void );
+
+
+#endif /* FT_LOGGING */
+
FT_END_HEADER
#endif /* FTDEBUG_H_ */
diff --git a/src/base/ftdebug.c b/src/base/ftdebug.c
index 62cf680..b5e4a4a 100644
--- a/src/base/ftdebug.c
+++ b/src/base/ftdebug.c
@@ -314,5 +314,37 @@
#endif /* !FT_DEBUG_LEVEL_TRACE */
+#ifdef FT_LOGGING
+
+
+ /******************************************************************
+ * If FT_LOGGING is enabled FreeType needs a FILE* to write logs
+ * to file.
+ */
+ static FILE* fileptr = NULL;
+
+
+
+ /*******************************************************************
+ *
+ * If FT_LOGGING is enabled, FreeType needs a FILE* to write logs
+ * therefore it uses `ft_logging_init()` function to initialize a
+ * FILE* and `ft_logging_deinit()` to un-initialize the FILE*
+ *
+ */
+
+ FT_BASE_DEF( void )
+ ft_logging_init( void )
+ {
+ fileptr = fopen( "freetype2.logs", "w" );
+ }
+
+ FT_BASE_DEF( void )
+ ft_logging_deinit( void )
+ {
+ fclose( fileptr );
+ }
+
+#endif /* FT_LOGGING */
/* END */
diff --git a/src/base/ftinit.c b/src/base/ftinit.c
index 0acc75e..24d5dc7 100644
--- a/src/base/ftinit.c
+++ b/src/base/ftinit.c
@@ -202,6 +202,11 @@
FT_Memory memory;
+ /* If logging is enabled initialize the FILE* */
+#ifdef FT_LOGGING
+ ft_logging_init();
+#endif /* FT_LOGGING */
+
/* check of `alibrary' delayed to `FT_New_Library' */
/* First of all, allocate a new system object -- this function is part */
@@ -248,6 +253,11 @@
/* discard memory manager */
FT_Done_Memory( memory );
+ /* If logging is enabled we need to close the FILE* */
+#ifdef FT_LOGGING
+ ft_logging_deinit();
+#endif /* FT_LOGGING */
+
return FT_Err_Ok;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] priyesh_LogLibrary 421bb58: Added functions to initialize and un-initialize logging,
Priyesh Kumar <=