[php-i18n-commits] cvs commit: libmbfl/mbfl mbfilter.c mbfl_memory_device.c mbfl_string.c mbfl_string.h

Back to archive index

Moriyoshi Koizumi moriy****@users*****
2002年 12月 26日 (木) 06:44:50 JST


moriyoshi    02/12/26 06:44:50

  Modified:    .        mbfl.def
               mbfl     mbfilter.c mbfl_memory_device.c mbfl_string.c
                        mbfl_string.h
  Log:
  Changed mbfl_string API
  
  Revision  Changes    Path
  1.2       +3 -3      libmbfl/mbfl.def
  
  Index: mbfl.def
  ===================================================================
  RCS file: /cvsroot/php-i18n/libmbfl/mbfl.def,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- mbfl.def	25 Dec 2002 21:09:34 -0000	1.1
  +++ mbfl.def	25 Dec 2002 21:44:50 -0000	1.2
  @@ -81,6 +81,6 @@
   	 _mbfl_wchar_device_init @76
   	 _mbfl_wchar_device_output @77
   	 _mbfl_wchar_device_clear @78
  -	 _mbfl_string_init @79
  -	 _mbfl_string_init_set @89
  -	 _mbfl_string_clear @81
  +	 _mbfl_string_ctor @79
  +	 _mbfl_string_ctor2 @89
  +	 _mbfl_string_dtor @81
  
  
  
  1.15      +9 -8      libmbfl/mbfl/mbfilter.c
  
  Index: mbfilter.c
  ===================================================================
  RCS file: /cvsroot/php-i18n/libmbfl/mbfl/mbfilter.c,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- mbfilter.c	24 Dec 2002 18:00:11 -0000	1.14
  +++ mbfilter.c	25 Dec 2002 21:44:50 -0000	1.15
  @@ -100,6 +100,7 @@
   #endif
   
   #include "mbfilter.h"
  +#include "mbfl_string.h"
   #include "mbfl_filter_output.h"
   #include "mbfilter_pass.h"
   
  @@ -686,7 +687,7 @@
   	if (encoding == NULL || string == NULL || result == NULL) {
   		return NULL;
   	}
  -	mbfl_string_init(result);
  +	mbfl_string_ctor(result);
   	result->no_language = string->no_language;
   	result->no_encoding = string->no_encoding;
   
  @@ -780,7 +781,7 @@
   		mbfl_convert_filter *encoder;
   
   		mbfl_memory_device_init(&device, length + 1, 0);
  -		mbfl_string_init(result);
  +		mbfl_string_ctor(result);
   		result->no_language = string->no_language;
   		result->no_encoding = string->no_encoding;
   		/* output code filter */
  @@ -842,7 +843,7 @@
   	if (encoding == NULL || string == NULL || result == NULL) {
   		return NULL;
   	}
  -	mbfl_string_init(result);
  +	mbfl_string_ctor(result);
   	result->no_language = string->no_language;
   	result->no_encoding = string->no_encoding;
   
  @@ -1126,7 +1127,7 @@
   	if (string == NULL || result == NULL) {
   		return NULL;
   	}
  -	mbfl_string_init(result);
  +	mbfl_string_ctor(result);
   	result->no_language = string->no_language;
   	result->no_encoding = string->no_encoding;
   	mbfl_memory_device_init(&pc.device, width, 0);
  @@ -1498,7 +1499,7 @@
   		return NULL;
   	}
   	mbfl_memory_device_init(&device, string->len, 0);
  -	mbfl_string_init(result);
  +	mbfl_string_ctor(result);
   	result->no_language = string->no_language;
   	result->no_encoding = string->no_encoding;
   	decoder = mbfl_convert_filter_new(
  @@ -1793,7 +1794,7 @@
   	unsigned char *p;
   	struct mime_header_encoder_data *pe;
   
  -	mbfl_string_init(result);
  +	mbfl_string_ctor(result);
   	result->no_language = string->no_language;
   	result->no_encoding = mbfl_encoding_id_ascii;
   
  @@ -2082,7 +2083,7 @@
   	unsigned char *p;
   	struct mime_header_decoder_data *pd;
   
  -	mbfl_string_init(result);
  +	mbfl_string_ctor(result);
   	result->no_language = string->no_language;
   	result->no_encoding = outcode;
   
  @@ -2267,7 +2268,7 @@
   	if (string == NULL || result == NULL) {
   		return NULL;
   	}
  -	mbfl_string_init(result);
  +	mbfl_string_ctor(result);
   	result->no_language = string->no_language;
   	result->no_encoding = string->no_encoding;
   	mbfl_memory_device_init(&device, string->len, 0);
  
  
  
  1.5       +1 -0      libmbfl/mbfl/mbfl_memory_device.c
  
  Index: mbfl_memory_device.c
  ===================================================================
  RCS file: /cvsroot/php-i18n/libmbfl/mbfl/mbfl_memory_device.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- mbfl_memory_device.c	24 Dec 2002 18:00:11 -0000	1.4
  +++ mbfl_memory_device.c	25 Dec 2002 21:44:50 -0000	1.5
  @@ -116,6 +116,7 @@
   		result->len = device->pos;
   		mbfl_memory_device_output4('\0', device);
   		result->val = device->buffer;
  +		result->val_allocated = 1;
   		device->buffer = (unsigned char *)0;
   		device->length = 0;
   		device->pos= 0;
  
  
  
  1.6       +22 -21    libmbfl/mbfl/mbfl_string.c
  
  Index: mbfl_string.c
  ===================================================================
  RCS file: /cvsroot/php-i18n/libmbfl/mbfl/mbfl_string.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- mbfl_string.c	25 Dec 2002 21:24:16 -0000	1.5
  +++ mbfl_string.c	25 Dec 2002 21:44:50 -0000	1.6
  @@ -36,41 +36,42 @@
   #include <stddef.h>
   #endif
   
  +#include <assert.h>
  +
   #include "mbfl_allocators.h"
   #include "mbfl_string.h"
   
   /*
    * string object
    */
  -void mbfl_string_init(mbfl_string *string)
  +void mbfl_string_ctor(mbfl_string *string)
   {
  -	if (string) {
  -		string->no_language = mbfl_language_id_uni;
  -		string->no_encoding = mbfl_encoding_id_pass;
  -		string->val = (unsigned char*)NULL;
  -		string->len = 0;
  -	}
  +	assert(string != NULL);
  +
  +	mbfl_string_ctor2(string, mbfl_language_id_uni, mbfl_encoding_id_pass);
   }
   
  -void mbfl_string_init_set(mbfl_string *string, mbfl_language_id no_language, mbfl_encoding_id no_encoding)
  +void mbfl_string_ctor2(mbfl_string *string, mbfl_language_id no_language, mbfl_encoding_id no_encoding)
   {
  -	if (string) {
  -		string->no_language = no_language;
  -		string->no_encoding = no_encoding;
  -		string->val = (unsigned char*)NULL;
  -		string->len = 0;
  -	}
  +	assert(string != NULL);
  +
  +	string->no_language = no_language;
  +	string->no_encoding = no_encoding;
  +	string->val = (unsigned char*)NULL;
  +	string->val_allocated = 0;
  +	string->len = 0;
   }
   
  -void mbfl_string_clear(mbfl_string *string)
  +void mbfl_string_dtor(mbfl_string *string)
   {
  -	if (string) {
  -		if (string->val != (unsigned char*)NULL) {
  -			mbfl_free(string->val);
  -		}
  -		string->val = (unsigned char*)NULL;
  -		string->len = 0;
  +	assert(string != NULL);
  +
  +	if (string->val != (unsigned char*)NULL && string->val_allocated) {
  +		mbfl_free(string->val);
   	}
  +	string->val_allocated = 0;
  +	string->val = (unsigned char*)NULL;
  +	string->len = 0;
   }
   
   
  
  
  
  1.4       +8 -3      libmbfl/mbfl/mbfl_string.h
  
  Index: mbfl_string.h
  ===================================================================
  RCS file: /cvsroot/php-i18n/libmbfl/mbfl/mbfl_string.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- mbfl_string.h	25 Dec 2002 18:07:18 -0000	1.3
  +++ mbfl_string.h	25 Dec 2002 21:44:50 -0000	1.4
  @@ -43,10 +43,15 @@
   	mbfl_encoding_id no_encoding;
   	unsigned char *val;
   	unsigned int len;
  +	int val_allocated;
   } mbfl_string;
   
  -MBFLAPI void mbfl_string_init(mbfl_string *string);
  -MBFLAPI void mbfl_string_init_set(mbfl_string *string, mbfl_language_id no_language, mbfl_encoding_id no_encoding);
  -MBFLAPI void mbfl_string_clear(mbfl_string *string);
  +MBFLAPI void mbfl_string_ctor(mbfl_string *string);
  +MBFLAPI void mbfl_string_ctor2(mbfl_string *string, mbfl_language_id no_language, mbfl_encoding_id no_encoding);
  +MBFLAPI void mbfl_string_dtor(mbfl_string *string);
  +
  +#define mbfl_string_init mbfl_string_ctor
  +#define mbfl_string_init_set mbfl_string_ctor2
  +#define mbfl_string_clear mbfl_string_dtor
   
   #endif /* MBFL_STRING_H */
  
  
  



php-i18n-commits メーリングリストの案内
Back to archive index