These changes fix 10145 and 10150, a prob with BSD and exp2/log2 not existing, as well as the bootstrap needing a small upgrade for openbsd. Many thanks to mvanbaak

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@73821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Steve Murphy
2007-07-07 16:44:57 +00:00
parent 1da115c8d9
commit 1827bcba77
6 changed files with 847 additions and 49 deletions

View File

@@ -160,9 +160,13 @@
#define FUNC_RINT rintl
#define FUNC_TRUNC truncl
#define FUNC_EXP expl
#ifdef HAVE_EXP2
#define FUNC_EXP2 exp2l
#endif
#define FUNC_LOG logl
#ifdef HAVE_LOG2
#define FUNC_LOG2 log2l
#endif
#define FUNC_LOG10 log10l
#define FUNC_REMAINDER remainderl
#else
@@ -185,9 +189,13 @@
#define FUNC_RINT rint
#define FUNC_TRUNC trunc
#define FUNC_EXP exp
#ifdef HAVE_EXP2
#define FUNC_EXP2 exp2
#endif
#define FUNC_LOG log
#ifdef HAVE_LOG2
#define FUNC_LOG2 log2
#endif
#define FUNC_LOG10 log10
#define FUNC_REMAINDER remainder
#endif
@@ -2631,6 +2639,7 @@ static struct val *op_func(struct val *funcname, struct expr_node *arglist, stru
ast_log(LOG_WARNING,"Wrong args to %s() function\n",funcname->u.s);
return make_number(0.0);
}
#ifdef HAVE_EXP2
} else if (strcmp(funcname->u.s,"EXP2") == 0) {
if (arglist && !arglist->right && arglist->val){
to_number(arglist->val);
@@ -2640,6 +2649,7 @@ static struct val *op_func(struct val *funcname, struct expr_node *arglist, stru
ast_log(LOG_WARNING,"Wrong args to %s() function\n",funcname->u.s);
return make_number(0.0);
}
#endif
} else if (strcmp(funcname->u.s,"LOG") == 0) {
if (arglist && !arglist->right && arglist->val){
to_number(arglist->val);
@@ -2649,6 +2659,7 @@ static struct val *op_func(struct val *funcname, struct expr_node *arglist, stru
ast_log(LOG_WARNING,"Wrong args to %s() function\n",funcname->u.s);
return make_number(0.0);
}
#ifdef HAVE_LOG2
} else if (strcmp(funcname->u.s,"LOG2") == 0) {
if (arglist && !arglist->right && arglist->val){
to_number(arglist->val);
@@ -2658,6 +2669,7 @@ static struct val *op_func(struct val *funcname, struct expr_node *arglist, stru
ast_log(LOG_WARNING,"Wrong args to %s() function\n",funcname->u.s);
return make_number(0.0);
}
#endif
} else if (strcmp(funcname->u.s,"LOG10") == 0) {
if (arglist && !arglist->right && arglist->val){
to_number(arglist->val);