[Asterisk-cvs] asterisk file.c,1.51.2.3,1.51.2.4
russell at lists.digium.com
russell at lists.digium.com
Mon May 30 23:33:33 CDT 2005
Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv17212
Modified Files:
Tag: v1-0
file.c
Log Message:
find sound files that are in the language directory itself (bug #4399)
Index: file.c
===================================================================
RCS file: /usr/cvsroot/asterisk/file.c,v
retrieving revision 1.51.2.3
retrieving revision 1.51.2.4
diff -u -d -r1.51.2.3 -r1.51.2.4
--- file.c 1 Apr 2005 03:13:38 -0000 1.51.2.3
+++ file.c 31 May 2005 03:36:45 -0000 1.51.2.4
@@ -714,23 +714,31 @@
*c = '\0';
postfix = c+1;
prefix = tmp;
+ snprintf(filename2, sizeof(filename2), "%s/%s/%s", prefix, preflang, postfix);
} else {
postfix = tmp;
prefix="";
+ snprintf(filename2, sizeof(filename2), "%s/%s", preflang, postfix);
}
- snprintf(filename2, sizeof(filename2), "%s/%s/%s", prefix, preflang, postfix);
res = ast_filehelper(filename2, NULL, fmt, ACTION_EXISTS);
if (res < 1) {
char *stringp=NULL;
strncpy(lang2, preflang, sizeof(lang2)-1);
stringp=lang2;
strsep(&stringp, "_");
+ /* If language is a specific locality of a language (like es_MX), strip the locality and try again */
if (strcmp(lang2, preflang)) {
- snprintf(filename2, sizeof(filename2), "%s/%s/%s", prefix, lang2, postfix);
+ if (ast_strlen_zero(prefix)) {
+ snprintf(filename2, sizeof(filename2), "%s/%s", lang2, postfix);
+ } else {
+ snprintf(filename2, sizeof(filename2), "%s/%s/%s", prefix, lang2, postfix);
+ }
res = ast_filehelper(filename2, NULL, fmt, ACTION_EXISTS);
}
}
}
+
+ /* Fallback to no language (usually winds up being American English) */
if (res < 1) {
res = ast_filehelper(filename, NULL, fmt, ACTION_EXISTS);
}
More information about the svn-commits
mailing list