aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-01 17:56:59 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-01 17:56:59 +0000
commit5e51fc577edc8ebab3b059ae569f2d5a456969a8 (patch)
tree08368ddc04f75c9bdcfd84dd081448238388d898
parentf5efde90a846148c64a056ede06d636c5d3c4833 (diff)
Add some fixes for building on Solaris.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@77869 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--apps/app_voicemail.c4
-rw-r--r--channels/chan_iax2.c10
-rw-r--r--channels/chan_mgcp.c2
-rw-r--r--include/asterisk/threadstorage.h9
-rw-r--r--main/acl.c2
-rw-r--r--utils/smsq.c8
6 files changed, 20 insertions, 15 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 506ba2361..45fdfb641 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -1906,7 +1906,7 @@ static void make_email_file(FILE *p, char *srcemail, struct ast_vm_user *vmu, in
fprintf(p, "Subject: New message %d in mailbox %s" ENDL, msgnum + 1, mailbox);
else
fprintf(p, "Subject: [PBX]: New message %d in mailbox %s" ENDL, msgnum + 1, mailbox);
- fprintf(p, "Message-ID: <Asterisk-%d-%d-%s-%d@%s>" ENDL, msgnum + 1, (unsigned int)ast_random(), mailbox, getpid(), host);
+ fprintf(p, "Message-ID: <Asterisk-%d-%d-%s-%d@%s>" ENDL, msgnum + 1, (unsigned int)ast_random(), mailbox, (int)getpid(), host);
if(imap) {
/* additional information needed for IMAP searching */
fprintf(p, "X-Asterisk-VM-Message-Num: %d" ENDL, msgnum + 1);
@@ -1931,7 +1931,7 @@ static void make_email_file(FILE *p, char *srcemail, struct ast_vm_user *vmu, in
fprintf(p, "MIME-Version: 1.0" ENDL);
if (attach_user_voicemail) {
/* Something unique. */
- snprintf(bound, sizeof(bound), "----voicemail_%d%s%d%d", msgnum + 1, mailbox, getpid(), (unsigned int)ast_random());
+ snprintf(bound, sizeof(bound), "----voicemail_%d%s%d%d", msgnum + 1, mailbox, (int)getpid(), (unsigned int)ast_random());
fprintf(p, "Content-Type: multipart/mixed; boundary=\"%s\"" ENDL, bound);
fprintf(p, ENDL ENDL "This is a multi-part message in MIME format." ENDL ENDL);
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 7aed23fac..d4d6ac74b 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -1361,7 +1361,7 @@ static void destroy_firmware(struct iax_firmware *cur)
{
/* Close firmware */
if (cur->fwh) {
- munmap(cur->fwh, ntohl(cur->fwh->datalen) + sizeof(*(cur->fwh)));
+ munmap((void*)cur->fwh, ntohl(cur->fwh->datalen) + sizeof(*(cur->fwh)));
}
close(cur->fd);
free(cur);
@@ -1460,7 +1460,7 @@ static int try_firmware(char *s)
close(fd);
return -1;
}
- fwh = mmap(NULL, stbuf.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
+ fwh = (struct ast_iax2_firmware_header*)mmap(NULL, stbuf.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
if (fwh == (void *) -1) {
ast_log(LOG_WARNING, "mmap failed: %s\n", strerror(errno));
close(fd);
@@ -1471,7 +1471,7 @@ static int try_firmware(char *s)
MD5Final(sum, &md5);
if (memcmp(sum, fwh->chksum, sizeof(sum))) {
ast_log(LOG_WARNING, "Firmware file '%s' fails checksum\n", s);
- munmap(fwh, stbuf.st_size);
+ munmap((void*)fwh, stbuf.st_size);
close(fd);
return -1;
}
@@ -1484,7 +1484,7 @@ static int try_firmware(char *s)
break;
/* This version is no newer than what we have. Don't worry about it.
We'll consider it a proper load anyhow though */
- munmap(fwh, stbuf.st_size);
+ munmap((void*)fwh, stbuf.st_size);
close(fd);
return 0;
}
@@ -1500,7 +1500,7 @@ static int try_firmware(char *s)
}
if (cur) {
if (cur->fwh) {
- munmap(cur->fwh, cur->mmaplen);
+ munmap((void*)cur->fwh, cur->mmaplen);
}
if (cur->fd > -1)
close(cur->fd);
diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c
index bda08d7a3..50203a15e 100644
--- a/channels/chan_mgcp.c
+++ b/channels/chan_mgcp.c
@@ -2050,7 +2050,7 @@ static int add_sdp(struct mgcp_request *resp, struct mgcp_subchannel *sub, struc
ast_verbose("We're at %s port %d\n", ast_inet_ntoa(p->parent->ourip), ntohs(sin.sin_port));
}
snprintf(v, sizeof(v), "v=0\r\n");
- snprintf(o, sizeof(o), "o=root %d %d IN IP4 %s\r\n", getpid(), getpid(), ast_inet_ntoa(dest.sin_addr));
+ snprintf(o, sizeof(o), "o=root %d %d IN IP4 %s\r\n", (int)getpid(), (int)getpid(), ast_inet_ntoa(dest.sin_addr));
snprintf(s, sizeof(s), "s=session\r\n");
snprintf(c, sizeof(c), "c=IN IP4 %s\r\n", ast_inet_ntoa(dest.sin_addr));
snprintf(t, sizeof(t), "t=0 0\r\n");
diff --git a/include/asterisk/threadstorage.h b/include/asterisk/threadstorage.h
index f17991957..9021aa551 100644
--- a/include/asterisk/threadstorage.h
+++ b/include/asterisk/threadstorage.h
@@ -43,6 +43,11 @@ struct ast_threadstorage {
void (*key_init)(void);
};
+#ifdef SOLARIS
+#define THREADSTORAGE_ONCE_INIT {PTHREAD_ONCE_INIT}
+#else
+#define THREADSTORAGE_ONCE_INIT PTHREAD_ONCE_INIT
+#endif
#if defined(DEBUG_THREADLOCALS)
void __ast_threadstorage_object_add(void *key, size_t len, const char *file, const char *function, unsigned int line);
@@ -72,7 +77,7 @@ void __ast_threadstorage_object_replace(void *key_old, void *key_new, size_t len
#define AST_THREADSTORAGE_CUSTOM(name, name_init, cleanup) \
static void name_init(void); \
static struct ast_threadstorage name = { \
- .once = PTHREAD_ONCE_INIT, \
+ .once = THREADSTORAGE_ONCE_INIT, \
.key_init = name_init, \
}; \
static void name_init(void) \
@@ -83,7 +88,7 @@ static void name_init(void) \
#define AST_THREADSTORAGE_CUSTOM(name, name_init, cleanup) \
static void name_init(void); \
static struct ast_threadstorage name = { \
- .once = PTHREAD_ONCE_INIT, \
+ .once = THREADSTORAGE_ONCE_INIT, \
.key_init = name_init, \
}; \
static void __cleanup_##name(void *data) \
diff --git a/main/acl.c b/main/acl.c
index 5d8c82380..f5261965e 100644
--- a/main/acl.c
+++ b/main/acl.c
@@ -79,7 +79,7 @@ struct ast_ha {
};
/* Default IP - if not otherwise set, don't breathe garbage */
-static struct in_addr __ourip = { 0x00000000 };
+static struct in_addr __ourip = { .s_addr = 0x00000000, };
struct my_ifreq {
char ifrn_name[IFNAMSIZ]; /* Interface name, e.g. "eth0", "ppp0", etc. */
diff --git a/utils/smsq.c b/utils/smsq.c
index bacae9ef3..7439504fc 100644
--- a/utils/smsq.c
+++ b/utils/smsq.c
@@ -125,7 +125,7 @@ static char txqcheck (char *dir, char *queue, char subaddress, char *channel, ch
ql = p - queue;
subaddress = p[1];
}
- snprintf (temp, sizeof(temp), "sms/.smsq-%d", getpid ());
+ snprintf (temp, sizeof(temp), "sms/.smsq-%d", (int)getpid ());
f = fopen (temp, "w");
if (!f)
{
@@ -196,7 +196,7 @@ static void rxqcheck (char *dir, char *queue, char *process)
DIR *d;
int ql = strlen (queue);
struct dirent *fn;
- snprintf(temp, sizeof(temp), "sms/.smsq-%d", getpid ());
+ snprintf(temp, sizeof(temp), "sms/.smsq-%d", (int)getpid ());
snprintf(dirname, sizeof(dirname), "sms/%s", dir);
d = opendir (dirname);
if (!d)
@@ -673,10 +673,10 @@ main (int argc, const char *argv[])
queuename[100],
*dir = (mo ? rx ? "sms/morx" : "sms/motx" : rx ? "sms/mtrx" : "sms/mttx");
FILE *f;
- snprintf (temp, sizeof(temp), "sms/.smsq-%d", getpid ());
+ snprintf (temp, sizeof(temp), "sms/.smsq-%d", (int)getpid ());
mkdir ("sms", 0777); /* ensure directory exists */
mkdir (dir, 0777); /* ensure directory exists */
- snprintf (queuename, sizeof(queuename), "%s/%s.%ld-%d", dir, *queue ? queue : "0", (long)time (0), getpid ());
+ snprintf (queuename, sizeof(queuename), "%s/%s.%ld-%d", dir, *queue ? queue : "0", (long)time (0), (int)getpid ());
f = fopen (temp, "w");
if (!f)
{