From: Eric B. <gob...@if...> - 2002-11-29 10:32:00
|
Berend de Boer wrote: > > Here another problem with UC_STRING. As this test has run on a few > platforms without problem, it might be a BEOS problem. Perhaps you > can give me some indication Eric what might be a possible cause? > infix + UC_STRING > Current = UC_STRING#0x80212ad8 > [ storage = NATIVE_ARRAY[CHARACTER]#0x802775a8 > count = 158 > byte_count = 158 > byte_capacity = 158 > last_byte_index_input = 1 > last_byte_index_result = 1 > ] > other = UC_STRING#0x803aa308 > [ storage = NATIVE_ARRAY[CHARACTER]#0x8027ebb8 > count = 5 > byte_count = 6 > byte_capacity = 6 > last_byte_index_input = 1 > last_byte_index_result = 1 > ] > Result = UC_STRING#0x80429918 > [ storage = NATIVE_ARRAY[CHARACTER]#0x803a1600 > count = 163 > byte_count = 163 > byte_capacity = 163 > last_byte_index_input = 159 > last_byte_index_result = 159 > ] > line 883 column 69 file /boot/home/src/gobo/library/kernel/spec/se/uc_string.e This is strange: the `byte_count' of `Current' is 158, and the one of `other' is 6, so why do we get 163 and not 164 in `Result'? > unicode_substring_index UC_STRING > Current = UC_STRING#0x80454c80 > [ storage = NATIVE_ARRAY[CHARACTER]#0x803ae3b0 > count = 5 > byte_count = 5 > byte_capacity = 5 > last_byte_index_input = 1 > last_byte_index_result = 1 > ] > other = UC_STRING#0x803aa308 > [ storage = NATIVE_ARRAY[CHARACTER]#0x8027ebb8 > count = 5 > byte_count = 6 > byte_capacity = 6 > last_byte_index_input = 1 > last_byte_index_result = 1 > ] > start_index = 1 > Result = 0 > i = 6 > j = 6 > nb = 6 > a_code = 0 > a_code2 = 0 > other_unicode = UC_STRING#0x803aa308 > [ storage = NATIVE_ARRAY[CHARACTER]#0x8027ebb8 > count = 5 > byte_count = 6 > byte_capacity = 6 > last_byte_index_input = 1 > last_byte_index_result = 1 > ] > k = 1 > z = 0 > end_index = 1 > found = true > line 606 column 32 file /boot/home/src/gobo/library/kernel/spec/se/uc_string.e It would be helpful if you could figure out what are the 5 bytes in `Current' and the 6 bytes in `other'. I have the impression that `other' is malformed: its byte encoding might contain only single byte characters, although it says that count/=byte_count. It might be due to another usage of a non-ELKS 2001 routine, but I couldn't find one just by looking at the exception stack. -- Eric Bezault mailto:er...@go... http://www.gobosoft.com __________________________________________________ Modem offert : 150,92 euros remboursés sur le Pack eXtense de Wanadoo ! Haut débit à partir de 30 euros/mois : http://www.ifrance.com/_reloc/w |