Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv12870

Modified Files:
        channel.c cli.c pbx.c utils.c 
Log Message:
phase two of string portability stuff:
  don't need ast_ prefixes on functions
  use individual #defines for function presence
  add vasprintf to portability library



Index: channel.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channel.c,v
retrieving revision 1.219
retrieving revision 1.220
diff -u -d -r1.219 -r1.220
--- channel.c   15 Jul 2005 00:39:01 -0000      1.219
+++ channel.c   15 Jul 2005 22:06:15 -0000      1.220
@@ -1753,8 +1753,8 @@
                        break; /* no frame */
                if (f->frametype == AST_FRAME_CONTROL && f->subclass == 
AST_CONTROL_HANGUP)
                        done = 1;       /* force a break */
-               else if (f->frametype == AST_FRAME_TEXT) {                      
/* what we want */
-                       buf = ast_strndup((char *) f->data, f->datalen);        
/* dup and break */
+               else if (f->frametype == AST_FRAME_TEXT) {              /* what 
we want */
+                       buf = strndup((char *) f->data, f->datalen);    /* dup 
and break */
                        done = 1;
                }
                ast_frfree(f);

Index: cli.c
===================================================================
RCS file: /usr/cvsroot/asterisk/cli.c,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -d -r1.90 -r1.91
--- cli.c       10 Jul 2005 22:56:21 -0000      1.90
+++ cli.c       15 Jul 2005 22:06:15 -0000      1.91
@@ -47,15 +47,10 @@
 {
        char *stuff;
        int res = 0;
-
        va_list ap;
+
        va_start(ap, fmt);
-#ifdef SOLARIS
-        stuff = (char *)malloc(10240);
-        vsnprintf(stuff, 10240, fmt, ap);
-#else
        res = vasprintf(&stuff, fmt, ap);
-#endif
        va_end(ap);
        if (res == -1) {
                ast_log(LOG_ERROR, "Out of memory\n");

Index: pbx.c
===================================================================
RCS file: /usr/cvsroot/asterisk/pbx.c,v
retrieving revision 1.260
retrieving revision 1.261
diff -u -d -r1.260 -r1.261
--- pbx.c       15 Jul 2005 16:02:37 -0000      1.260
+++ pbx.c       15 Jul 2005 22:06:15 -0000      1.261
@@ -3104,7 +3104,7 @@
                int printapp=0;
                total_apps++;
                if (like) {
-                       if (ast_strcasestr(a->name, argv[3])) {
+                       if (strcasestr(a->name, argv[3])) {
                                printapp = 1;
                                total_match++;
                        }
@@ -3114,7 +3114,7 @@
                                int i;
                                printapp = 1;
                                for (i=3;i<argc;i++) {
-                                       if (! ast_strcasestr(a->description, 
argv[i])) {
+                                       if (!strcasestr(a->description, 
argv[i])) {
                                                printapp = 0;
                                        } else {
                                                total_match++;

Index: utils.c
===================================================================
RCS file: /usr/cvsroot/asterisk/utils.c,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -d -r1.56 -r1.57
--- utils.c     15 Jul 2005 15:37:58 -0000      1.56
+++ utils.c     15 Jul 2005 22:06:15 -0000      1.57
@@ -20,6 +20,7 @@
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <arpa/inet.h>
+#include <stdarg.h>
 
 #include "asterisk.h"
 
@@ -492,22 +493,22 @@
        return 0;
 }
 
-/* Case-insensitive substring matching */
-#ifndef __linux__ 
+#ifndef HAVE_STRCASESTR
 static char *upper(const char *orig, char *buf, int bufsize)
 {
-       int i;
-       memset(buf, 0, bufsize);
-       for (i=0; i<bufsize - 1; i++) {
+       int i = 0;
+
+       while (i < (bufsize - 1) && orig[i]) {
                buf[i] = toupper(orig[i]);
-               if (orig[i] == '\0') {
-                       break;
-               }
+               i++;
        }
+
+       buf[i] = '\0';
+
        return buf;
 }
 
-char *ast_strcasestr(const char *haystack, const char *needle)
+char *strcasestr(const char *haystack, const char *needle)
 {
        char *u1, *u2;
        int u1len = strlen(haystack) + 1, u2len = strlen(needle) + 1;
@@ -532,8 +533,10 @@
                return NULL;
        }
 }
+#endif
 
-size_t ast_strnlen(const char *s, size_t n)
+#ifndef HAVE_STRNLEN
+size_t strnlen(const char *s, size_t n)
 {
        size_t len;
 
@@ -543,10 +546,12 @@
 
        return len;
 }
+#endif
 
-char *ast_strndup(const char *s, size_t n)
+#ifndef HAVE_STRNDUP
+char *strndup(const char *s, size_t n)
 {
-       size_t len = ast_strnlen(s, n);
+       size_t len = strnlen(s, n);
        char *new = malloc(len + 1);
 
        if (!new)
@@ -555,5 +560,25 @@
        new[len] = '\0';
        return memcpy(new, s, len);
 }
+#endif
 
-#endif /* !__linux__ */
+#ifndef HAVE_VASPRINTF
+int vasprintf(char **strp, const char *fmt, va_list ap)
+{
+       int size;
+       va_list ap2;
+
+       *strp = NULL;
+       va_copy(ap2, ap);
+       size = vsnprintf(*strp, 0, fmt, ap2);
+       va_end(ap2);
+       *strp = malloc(size + 1);
+       if (!*strp)
+               return -1;
+       va_start(fmt, ap);
+       vsnprintf(*strp, size + 1, fmt, ap);
+       va_end(ap);
+
+       return size;
+}
+#endif

_______________________________________________
Asterisk-Cvs mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-cvs

Reply via email to