aboutsummaryrefslogtreecommitdiffhomepage
path: root/intern.cpp
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2011-12-26 19:18:46 -0800
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2011-12-26 19:18:46 -0800
commit8d2f107d61a8b0e099ab9a59b8a32c236da5a5fc (patch)
tree89f718ab74f8400332534aee237c6f925348f05c /intern.cpp
parent3f16ace6784caab54fb054836ee93902e9701913 (diff)
Some changes to migrate towards C++ and a multithreaded model
Diffstat (limited to 'intern.cpp')
-rw-r--r--intern.cpp50
1 files changed, 25 insertions, 25 deletions
diff --git a/intern.cpp b/intern.cpp
index 87332b09..d52857f1 100644
--- a/intern.cpp
+++ b/intern.cpp
@@ -33,29 +33,29 @@ const wchar_t *intern( const wchar_t *in )
const wchar_t *res=0;
// debug( 0, L"intern %ls", in );
-
+
if( !in )
return 0;
-
+
if( !intern_table )
{
- intern_table = malloc( sizeof( hash_table_t ) );
+ intern_table = (hash_table_t *)malloc( sizeof( hash_table_t ) );
if( !intern_table )
{
DIE_MEM();
}
hash_init( intern_table, &hash_wcs_func, &hash_wcs_cmp );
}
-
+
if( intern_static_table )
{
- res = hash_get( intern_static_table, in );
+ res = (const wchar_t *)hash_get( intern_static_table, in );
}
-
+
if( !res )
{
- res = hash_get( intern_table, in );
-
+ res = (const wchar_t *)hash_get( intern_table, in );
+
if( !res )
{
res = wcsdup( in );
@@ -63,39 +63,39 @@ const wchar_t *intern( const wchar_t *in )
{
DIE_MEM();
}
-
+
hash_put( intern_table, res, res );
}
}
-
+
return res;
}
const wchar_t *intern_static( const wchar_t *in )
{
const wchar_t *res=0;
-
+
if( !in )
return 0;
-
+
if( !intern_static_table )
{
- intern_static_table = malloc( sizeof( hash_table_t ) );
+ intern_static_table = (hash_table_t *)malloc( sizeof( hash_table_t ) );
if( !intern_static_table )
{
- DIE_MEM();
+ DIE_MEM();
}
hash_init( intern_static_table, &hash_wcs_func, &hash_wcs_cmp );
}
-
- res = hash_get( intern_static_table, in );
-
+
+ res = (const wchar_t *)hash_get( intern_static_table, in );
+
if( !res )
{
res = in;
hash_put( intern_static_table, res, res );
}
-
+
return res;
}
@@ -104,7 +104,7 @@ const wchar_t *intern_static( const wchar_t *in )
*/
static void clear_value( void *key, void *data )
{
- debug( 3, L"interned string: '%ls'", data );
+ debug( 3, L"interned string: '%ls'", data );
free( (void *)data );
}
@@ -112,17 +112,17 @@ void intern_free_all()
{
if( intern_table )
{
- hash_foreach( intern_table, &clear_value );
- hash_destroy( intern_table );
+ hash_foreach( intern_table, &clear_value );
+ hash_destroy( intern_table );
free( intern_table );
- intern_table=0;
+ intern_table=0;
}
if( intern_static_table )
{
- hash_destroy( intern_static_table );
+ hash_destroy( intern_static_table );
free( intern_static_table );
- intern_static_table=0;
+ intern_static_table=0;
}
-
+
}