]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
BSD fixes, thanks jontow for the use of your box
authorAnthony Minessale <anthony.minessale@gmail.com>
Sun, 6 Jan 2008 01:10:37 +0000 (01:10 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Sun, 6 Jan 2008 01:10:37 +0000 (01:10 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7105 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/sqlite/src/sqliteInt.h
libs/sqlite/src/util.c
libs/sqlite/src/vdbefifo.c
src/switch_core.c

index 8468a156d1abbbfc0c52f7f68c201bdaf9a24bbb..f844ddf24e1210100f38864f047fe85bf8b0688f 100644 (file)
@@ -281,20 +281,26 @@ static inline void *zmalloc(size_t x)
        return z;
 }
 
+static inline char *strndup_lite(const char *s, size_t n)
+{
+       char *dup = malloc(n+1);
+       assert(dup);
+       memcpy(dup, s, n);
+       *(dup+n) = '\0';
+       return dup;
+}
 
 #define ENTER_MALLOC 0
 #define sqliteMalloc(x)          zmalloc(x)//sqlite3Malloc(x,1)
 #define sqliteMallocRaw(x)       malloc(x)//sqlite3MallocRaw(x,1)
 #define sqliteRealloc(x,y)       realloc(x, y)//sqlite3Realloc(x,y)
 #define sqliteStrDup(x)          strdup(x)//sqlite3StrDup(x)
-#define sqliteStrNDup(x,y)       sqlite3StrNDup(x,y)
-
+#define sqliteStrNDup(x,y)       strndup_lite(x,y) //sqlite3StrNDup(x,y)
 #define sqliteReallocOrFree(x,y) sqlite3ReallocOrFree(x,y)
 
 #endif
 
-
-#define sqliteFree(x)          if (x) { free((void *)x); x = NULL; } //sqlite3FreeX(x)
+#define sqliteFree(x)          if (x) { free((void *)x); x = NULL;} //sqlite3FreeX(x)
 #define sqliteAllocSize(x)     sqlite3AllocSize(x)
 
 
index cce1fa2388f81b948441cfa71b46478bc07eefde..457227da0e907872540cb2d26b5ddeb2ff22a456 100644 (file)
@@ -729,7 +729,7 @@ char *sqlite3StrDup(const char *z){
 char *sqlite3StrNDup(const char *z, int n){
   char *zNew;
   if( z==0 ) return 0;
-  zNew = sqliteMallocRaw(n+1);
+  zNew = sqlite3MallocRaw(n+1, 1);
   if( zNew ){
     memcpy(zNew, z, n);
     zNew[n] = 0;
index 7ea6c050f9bbdf94756d1fb834335735f42b769a..f5555b0d45e0559197f21fe33f87a34f1a944577 100644 (file)
@@ -89,7 +89,7 @@ int sqlite3VdbeFifoPop(Fifo *pFifo, i64 *pVal){
     pFifo->pFirst = pPage->pNext;
     sqliteFree(pPage);
     if( pFifo->nEntry==0 ){
-      assert( pFifo->pLast==pPage );
+               //assert( pFifo->pLast==pPage );
       pFifo->pLast = 0;
     }else{
       assert( pFifo->pFirst!=0 );
index fa10f7b2cb13aa913a9a3c503c75e8e5e5c3acdc..8733aec4b58f39113ae4f19fcb4855bc5611a3ee 100644 (file)
@@ -705,10 +705,19 @@ SWITCH_DECLARE(switch_status_t) switch_core_init(switch_core_flag_t flags, switc
        {
                struct rlimit rlp;
 
+               /* 
+                  Setting the stack size on FreeBSD results in an instant crash.
+                
+                  If anyone knows how to fix this,
+                  feel free to submit a patch to http://jira.freeswitch.org 
+               */
+
+#ifndef __FreeBSD__
                memset(&rlp, 0, sizeof(rlp));
                rlp.rlim_cur = SWITCH_THREAD_STACKSIZE;
                rlp.rlim_max = SWITCH_THREAD_STACKSIZE;
                setrlimit(RLIMIT_STACK, &rlp);
+#endif
 
                memset(&rlp, 0, sizeof(rlp));
                rlp.rlim_cur = 999999;