]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - cups/globals.c
Merge changes from CUPS 1.4svn-r8606.
[thirdparty/cups.git] / cups / globals.c
index 0f4efd26a74fd05989d580cb34a860a7fbf6fb37..e9e863313f00856616d6eb3f084e4dad113c0eed 100644 (file)
@@ -1,25 +1,16 @@
 /*
- * "$Id$"
+ * "$Id: globals.c 7870 2008-08-27 18:14:10Z mike $"
  *
  *   Global variable access routines for the Common UNIX Printing System (CUPS).
  *
- *   Copyright 1997-2006 by Easy Software Products, all rights reserved.
+ *   Copyright 2007-2009 by Apple Inc.
+ *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
- *   property of Easy Software Products 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 missing or damaged please contact Easy Software Products
- *   at:
- *
- *       Attn: CUPS Licensing Information
- *       Easy Software Products
- *       44141 Airport View Drive, Suite 204
- *       Hollywood, Maryland 20636 USA
- *
- *       Voice: (301) 373-9600
- *       EMail: cups-info@cups.org
- *         WWW: http://www.cups.org
+ *   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/".
  *
  *   This file is subject to the Apple OS-Developed Software exception.
  *
@@ -37,7 +28,6 @@
 
 #include "http-private.h"
 #include "globals.h"
-#include "debug.h"
 #include <stdlib.h>
 
 
@@ -102,8 +92,6 @@ _cupsGlobals(void)
   * Initialize the global data exactly once...
   */
 
-  DEBUG_printf(("_cupsGlobals(): globals_key_once=%d\n", globals_key_once));
-
   pthread_once(&globals_key_once, globals_init);
 
  /*
@@ -112,8 +100,6 @@ _cupsGlobals(void)
 
   if ((globals = (_cups_globals_t *)pthread_getspecific(globals_key)) == NULL)
   {
-    DEBUG_puts("_cupsGlobals: allocating memory for thread...");
-
    /*
     * No, allocate memory as set the pointer for the key...
     */
@@ -121,14 +107,12 @@ _cupsGlobals(void)
     globals = calloc(1, sizeof(_cups_globals_t));
     pthread_setspecific(globals_key, globals);
 
-    DEBUG_printf(("    globals=%p\n", globals));
-
    /*
     * Initialize variables that have non-zero values
     */
 
     globals->encryption  = (http_encryption_t)-1;
-    globals->password_cb = _cupsGetPassword;
+    globals->password_cb = (cups_password_cb2_t)_cupsGetPassword;
 
     cups_env_init(globals);
   }
@@ -149,9 +133,6 @@ static void
 globals_init()
 {
   pthread_key_create(&globals_key, globals_destructor);
-
-  DEBUG_printf(("globals_init(): globals_key=%x(%u)\n", globals_key,
-                globals_key));
 }
 
 
@@ -163,11 +144,11 @@ static void
 globals_destructor(void *value)                /* I - Data to free */
 {
   int                  i;              /* Looping var */
+  _ipp_buffer_t                *buffer,        /* Current IPP read/write buffer */
+                       *next;          /* Next buffer */
   _cups_globals_t      *cg;            /* Global data */
 
 
-  DEBUG_printf(("globals_destructor(value=%p)\n", value));
-
   cg = (_cups_globals_t *)value;
 
   httpClose(cg->http);
@@ -176,10 +157,19 @@ globals_destructor(void *value)           /* I - Data to free */
     cupsFileClose(cg->stdio_files[i]);
 
   if (cg->last_status_message)
-    free(cg->last_status_message);
+    _cupsStrFree(cg->last_status_message);
 
   cupsFreeOptions(cg->cupsd_num_settings, cg->cupsd_settings);
 
+  for (buffer = cg->ipp_buffers; buffer; buffer = next)
+  {
+    next = buffer->next;
+    free(buffer);
+  }
+
+  cupsArrayDelete(cg->pwg_size_lut);
+  cupsArrayDelete(cg->leg_size_lut);
+
   free(value);
 }
 
@@ -226,5 +216,5 @@ _cupsGlobals(void)
 
 
 /*
- * End of "$Id$".
+ * End of "$Id: globals.c 7870 2008-08-27 18:14:10Z mike $".
  */