aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xMakefile4
-rwxr-xr-xconfig.c4
-rwxr-xr-xpbx.c9
3 files changed, 13 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 19f28da54..0e654157d 100755
--- a/Makefile
+++ b/Makefile
@@ -56,6 +56,10 @@ DEBUG=-g #-pg
# will be received more reliably
#OPTIONS += -DRADIO_RELAX
+# If you don't have a lot of memory (e.g. embedded Asterisk), uncomment the
+# following to reduce the size of certain static buffers
+#OPTIONS += -DLOW_MEMORY
+
# Optional debugging parameters
DEBUG_THREADS = #-DDEBUG_THREADS #-DDO_CRASH
diff --git a/config.c b/config.c
index cb4ae06ab..865fb6096 100755
--- a/config.c
+++ b/config.c
@@ -529,7 +529,7 @@ static int cfg_process(struct ast_config *tmp, struct ast_category **_tmpc, stru
if((c = strchr(cur,':'))) {
*c = '\0';
- *c++;
+ c++;
arg = c;
}
@@ -728,7 +728,7 @@ static struct ast_config *__ast_load(char *configfile, struct ast_config *tmp, s
)
{
char fn[256];
- char buf[512];
+ char buf[8192];
FILE *f;
int lineno=0;
int master=0;
diff --git a/pbx.c b/pbx.c
index 02c006b69..2c79751bb 100755
--- a/pbx.c
+++ b/pbx.c
@@ -49,6 +49,11 @@
*
*/
+#ifdef LOW_MEMORY
+#define EXT_DATA_SIZE 256
+#else
+#define EXT_DATA_SIZE 8192
+#endif
struct ast_context;
@@ -1159,11 +1164,11 @@ static int pbx_extension_helper(struct ast_channel *c, char *context, char *exte
int res;
int status = 0;
char *incstack[AST_PBX_MAX_STACK];
- char passdata[256];
+ char passdata[EXT_DATA_SIZE];
int stacklen = 0;
char tmp[80];
char tmp2[80];
- char tmp3[256];
+ char tmp3[EXT_DATA_SIZE];
if (ast_mutex_lock(&conlock)) {
ast_log(LOG_WARNING, "Unable to obtain lock\n");
if ((action == HELPER_EXISTS) || (action == HELPER_CANMATCH) || (action == HELPER_MATCHMORE))