]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - scheduler/util.c
Remove all of the Subversion keywords from various source files.
[thirdparty/cups.git] / scheduler / util.c
index b170f805275267d8c5c8f14571aae5b0818c84a1..5e67d8028122a1fc6c442be8f342b9bd3e3e3e29 100644 (file)
@@ -1,28 +1,14 @@
 /*
- * "$Id: util.c 7621 2008-06-06 18:55:35Z mike $"
+ * Mini-daemon utility functions for CUPS.
  *
- *   Mini-daemon utility functions for CUPS.
+ * Copyright 2007-2014 by Apple Inc.
+ * Copyright 1997-2005 by Easy Software Products.
  *
- *   Copyright 2007-2010 by Apple Inc.
- *   Copyright 1997-2005 by Easy Software Products.
- *
- *   These coded instructions, statements, and computer programs are the
- *   property of Apple Inc. and are protected by Federal copyright
- *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
- *   which should have been included with this file.  If this file is
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   cupsdCompareNames()       - Compare two names.
- *   cupsdCreateStringsArray() - Create a CUPS array of strings.
- *   cupsdExec()               - Run a program with the correct environment.
- *   cupsdPipeCommand()        - Read output from a command.
- *   cupsdSendIPPGroup()       - Send a group tag.
- *   cupsdSendIPPHeader()      - Send the IPP response header.
- *   cupsdSendIPPInteger()     - Send an integer attribute.
- *   cupsdSendIPPString()      - Send a string attribute.
- *   cupsdSendIPPTrailer()     - Send the end-of-message tag.
+ * These coded instructions, statements, and computer programs are the
+ * property of Apple Inc. and are protected by Federal copyright
+ * law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+ * which should have been included with this file.  If this file is
+ * file is missing or damaged, see the license at "http://www.cups.org/".
  */
 
 /*
 #ifdef __APPLE__
 #  include <libgen.h>
 extern char **environ;
-#endif /* __APPLE__ */ 
+#endif /* __APPLE__ */
 
 
 /*
  * 'cupsdCompareNames()' - Compare two names.
  *
- * This function basically does a strcasecmp() of the two strings,
+ * This function basically does a _cups_strcasecmp() of the two strings,
  * but is also aware of numbers so that "a2" < "a100".
  */
 
@@ -91,7 +77,7 @@ cupsdCompareNames(const char *s,      /* I - First string */
       else if (!isdigit(*s & 255) && isdigit(*t & 255))
         return (-1);
       else if (!isdigit(*s & 255) || !isdigit(*t & 255))
-        continue;     
+        continue;
 
       if (*s < *t)
         diff = -1;
@@ -160,58 +146,17 @@ cupsdCompareNames(const char *s,  /* I - First string */
 cups_array_t *                         /* O - CUPS array */
 cupsdCreateStringsArray(const char *s) /* I - Comma-delimited strings */
 {
-  cups_array_t *a;                     /* CUPS array */
-  const char   *start,                 /* Start of string */
-               *end;                   /* End of string */
-  char         buffer[8192];           /* New string */
-
-
-  if (!s)
+  if (!s || !*s)
     return (NULL);
-
-  if ((a = cupsArrayNew3((cups_array_func_t)strcmp, NULL,
-                         (cups_ahash_func_t)NULL, 0,
-                        (cups_acopy_func_t)_cupsStrAlloc,
-                        (cups_afree_func_t)_cupsStrFree)) != NULL)
-  {
-    for (start = end = s; *end; start = end + 1)
-    {
-     /*
-      * Find the end of the current delimited string...
-      */
-
-      if ((end = strchr(start, ',')) == NULL)
-      {
-       /*
-        * Last delimited string...
-       */
-
-        cupsArrayAdd(a, (char *)start);
-       break;
-      }
-
-     /*
-      * Copy the string and add it to the array...
-      */
-
-      if ((end - start + 1) > sizeof(buffer))
-        break;
-
-      memcpy(buffer, start, end - start);
-      buffer[end - start] = '\0';
-
-      cupsArrayAdd(a, buffer);
-    }
-  }
-
-  return (a);
+  else
+    return (_cupsArrayNewStrings(s, ','));
 }
 
 
 /*
  * 'cupsdExec()' - Run a program with the correct environment.
  *
- * On Mac OS X, we need to update the CFProcessPath environment variable that
+ * On OS X, we need to update the CFProcessPath environment variable that
  * is passed in the environment so the child can access its bundled resources.
  */
 
@@ -228,7 +173,7 @@ cupsdExec(const char *command,              /* I - Full path to program */
 
 
  /*
-  * Some Mac OS X programs are bundled and need the CFProcessPath environment
+  * Some OS X programs are bundled and need the CFProcessPath environment
   * variable defined.  If the command is a symlink, resolve the link and point
   * to the resolved location, otherwise, use the command path itself.
   */
@@ -292,7 +237,7 @@ cups_file_t *                               /* O - CUPS file or NULL on error */
 cupsdPipeCommand(int        *pid,      /* O - Process ID or 0 on error */
                  const char *command,  /* I - Command to run */
                  char       **argv,    /* I - Arguments to pass to command */
-                int        user)       /* I - User to run as or 0 for current */
+                uid_t      user)       /* I - User to run as or 0 for current */
 {
   int  fd,                             /* Temporary file descriptor */
        fds[2];                         /* Pipe file descriptors */
@@ -445,8 +390,8 @@ cupsdSendIPPInteger(
   putchar(value_tag);
 
   len = strlen(name);
-  putchar(len >> 8);
-  putchar(len);
+  putchar((int)(len >> 8));
+  putchar((int)len);
 
   fputs(name, stdout);
 
@@ -482,14 +427,14 @@ cupsdSendIPPString(
   putchar(value_tag);
 
   len = strlen(name);
-  putchar(len >> 8);
-  putchar(len);
+  putchar((int)(len >> 8));
+  putchar((int)len);
 
   fputs(name, stdout);
 
   len = strlen(value);
-  putchar(len >> 8);
-  putchar(len);
+  putchar((int)(len >> 8));
+  putchar((int)len);
 
   fputs(value, stdout);
 }
@@ -505,8 +450,3 @@ cupsdSendIPPTrailer(void)
   putchar(IPP_TAG_END);
   fflush(stdout);
 }
-
-
-/*
- * End of "$Id: util.c 7621 2008-06-06 18:55:35Z mike $".
- */