Minor header inclusion tweak for new usage of stat()
[asterisk/asterisk.git] / utils / smsq.c
old mode 100755 (executable)
new mode 100644 (file)
index 0da4c83..bacae9e
@@ -1,3 +1,22 @@
+/*
+ * Asterisk -- An open source telephony toolkit.
+ *
+ * Copyright (C) 2004 - 2005
+ *
+ * SMS queuing application for use with asterisk app_sms
+ * by Adrian Kennard
+ *
+ * See http://www.asterisk.org for more information about
+ * the Asterisk project. Please do not directly contact
+ * any of the maintainers of this project for assistance;
+ * the project provides a web site, mailing lists and IRC
+ * channels for your use.
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License Version 2. See the LICENSE file
+ * at the top of the source tree.
+ */
+
 #include <stdio.h>
 #include <popt.h>
 #include <sys/types.h>
 #include <stdlib.h>
 #include <unistd.h>
 #include <time.h>
+
+#include <asterisk/compat.h>
 #ifdef SOLARIS
-#include <solaris-compat/compat.h>
+#define     POPT_ARGFLAG_SHOW_DEFAULT 0x00800000
+#endif
+#if !defined(POPT_ARGFLAG_SHOW_DEFAULT)
 #define     POPT_ARGFLAG_SHOW_DEFAULT 0x00800000
 #endif
 
 
-/* SMS queuing application for use with asterisk app_sms */
-/* by Adrian Kennard, 2004 - 2005 */
-
 /* reads next USC character from null terminated UTF-8 string and advanced pointer */
 /* for non valid UTF-8 sequences, returns character as is */
 /* Does not advance pointer for null termination */
@@ -123,7 +143,7 @@ static char txqcheck (char *dir, char *queue, char subaddress, char *channel, ch
          p = channel;
       p = strchr (p, 'X');
       if (p)
-         fprintf (f, "%.*s%c%s\n", p - channel, channel, subaddress, p + 1);
+         fprintf (f, "%.*s%c%s\n", (int)(p - channel), channel, subaddress, p + 1);
       else
          fprintf (f, "%s\n", channel);
    }
@@ -134,7 +154,7 @@ static char txqcheck (char *dir, char *queue, char subaddress, char *channel, ch
    {
       p = strchr (callerid, 'X');
       if (p)
-         fprintf (f, "%.*s%c%s", p - callerid, callerid, subaddress, p + 1);
+         fprintf (f, "%.*s%c%s", (int)(p - callerid), callerid, subaddress, p + 1);
       else
          fprintf (f, "%s", callerid);
    }
@@ -169,7 +189,8 @@ static char txqcheck (char *dir, char *queue, char subaddress, char *channel, ch
 /* Process received queue entries and run through a process, setting environment variables */
 static void rxqcheck (char *dir, char *queue, char *process)
 {
-   unsigned char *p;
+   char *p;
+   void *pp = &p;
    char dirname[100],
      temp[100];
    DIR *d;
@@ -245,7 +266,7 @@ static void rxqcheck (char *dir, char *queue, char *process)
                {                /* read the user data as UTF-8 */
                   long v;
                   udl = 0;
-                  while ((v = utf8decode (&p)) && udl < 160)
+                  while ((v = utf8decode (pp)) && udl < 160)
                      if (v && v <= 0xFFFF)
                         ud[udl++] = v;
                }
@@ -569,7 +590,7 @@ main (int argc, const char *argv[])
    {                            /* multiple command line arguments in UTF-8 */
       while (poptPeekArg (optCon) && udl < 160)
       {
-         unsigned char *a = (char *) poptGetArg (optCon);
+         unsigned char *a = (unsigned char *) poptGetArg (optCon);
          if (udl && udl < 160)
             ud[udl++] = ' ';    /* space between arguments */
          while (udl < 160 && *a)