Compatibility issues on app_cut (bug #428)
[asterisk/asterisk.git] / apps / app_cut.c
index f046689..0bb1ab7 100755 (executable)
  *
  */
 
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
 #include <asterisk/file.h>
 #include <asterisk/logger.h>
 #include <asterisk/options.h>
 #include <asterisk/channel.h>
 #include <asterisk/pbx.h>
 #include <asterisk/module.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
 
 /* Maximum length of any variable */
 #define MAXRESULT      1024
@@ -58,7 +58,7 @@ static int cut_exec(struct ast_channel *chan, void *data)
 
        /* Check and parse arguments */
        if (data) {
-               s = strdupa((char *)data);
+               s = ast_strdupa((char *)data);
                if (s) {
                        newvar = strsep(&s, "=");
                        if (newvar && (newvar[0] != '\0')) {
@@ -131,7 +131,7 @@ static int cut_exec(struct ast_channel *chan, void *data)
 
                                /* Get to start, if any */
                                if (num1 > 0) {
-                                       while ((tmp2 != NULL + 1) && (curfieldnum < num1)) {
+                                       while ((tmp2 != (char *)NULL + 1) && (curfieldnum < num1)) {
                                                tmp2 = index(tmp2, d) + 1;
                                                curfieldnum++;
                                        }
@@ -143,7 +143,7 @@ static int cut_exec(struct ast_channel *chan, void *data)
                                }
 
                                /* Re-null tmp2 if we added 1 to NULL */
-                               if (tmp2 == NULL + 1)
+                               if (tmp2 == (char *)NULL + 1)
                                        tmp2 = NULL;
 
                                /* Output fields until we either run out of fields or num2 is reached */