mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 18:55:19 +00:00 
			
		
		
		
	Merged revisions 169794 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r169794 | mmichelson | 2009-01-21 16:10:02 -0600 (Wed, 21 Jan 2009) | 17 lines Fix a crash when saying certain numbers in Chinese This commit fixes a crash that was occurring when attempting to say a number between 10000 and 100000 due to dividing by 0. This also removes some places where a "zero" is spoken when it should not be. (closes issue #14291) Reported by: dant Patches: say.c-14291.diff uploaded by dant (license 670) Tested by: dant ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@169796 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -2308,11 +2308,6 @@ static int ast_say_number_full_tw(struct ast_channel *chan, int num, const char | ||||
| 					num -= ((num / 100) * 100); | ||||
| 				} else if (num < 10000){ | ||||
| 					snprintf(buf, 10, "%d", num); | ||||
| 					if (last_length - strlen(buf) > 1 && last_length != 0 && last_length % strlen(buf) > 0) { | ||||
| 						last_length = strlen(buf); | ||||
| 						playz++; | ||||
| 						continue; | ||||
| 					} | ||||
| 					snprintf(fn, sizeof(fn), "digits/%d", (num / 1000)); | ||||
| 					playt++; | ||||
| 					snprintf(buf, 10, "%d", num); | ||||
| @@ -2323,9 +2318,6 @@ static int ast_say_number_full_tw(struct ast_channel *chan, int num, const char | ||||
| 						res = ast_say_number_full_tw(chan, num / 10000, ints, language, audiofd, ctrlfd); | ||||
| 						if (res) | ||||
| 							return res; | ||||
| 						if (((num / 10000) % (num/100000)) == 0) | ||||
| 							playz++; | ||||
|  | ||||
| 						snprintf(buf, 10, "%d", num); | ||||
| 						ast_log(LOG_DEBUG, "Number '%d' %d %d\n", num, (int)strlen(buf), last_length); | ||||
| 						num -= ((num / 10000) * 10000); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user