BIG merge from trunk. Features not copied over
[metze/old/v3-2-winbind-ndr.git] / source / lib / debug.c
index 01aedb47740ec5fa1987ecb6a31a7fbe6aff5d02..f3676070dcb6d8bb2c8e59e3d36540f9100971d5 100644 (file)
@@ -164,6 +164,8 @@ static const char *default_classname_table[] = {
        "idmap",             /* DBGC_IDMAP        */
        "quota",             /* DBGC_QUOTA        */
        "acls",              /* DBGC_ACLS         */
+       "locking",           /* DBGC_LOCKING      */
+       "msdfs",             /* DBGC_MSDFS        */
        NULL
 };
 
@@ -192,7 +194,7 @@ static char *debug_list_class_names_and_levels(void)
        if (DEBUGLEVEL_CLASS == &debug_all_class_hack)
                return NULL;
 
-       list = calloc(debug_num_classes + 1, sizeof(char *));
+       list = SMB_CALLOC_ARRAY(char *, debug_num_classes + 1);
        if (!list)
                return NULL;
 
@@ -210,7 +212,7 @@ static char *debug_list_class_names_and_levels(void)
        }
 
        /* create single string list - add space for newline */
-       b = buf = malloc(dim+1);
+       b = buf = SMB_MALLOC(dim+1);
        if (!buf) {
                err = True;
                goto done;
@@ -292,7 +294,7 @@ int debug_add_class(const char *classname)
                /* Initial loading... */
                new_ptr = NULL;
        }
-       new_ptr = Realloc(new_ptr, sizeof(int) * (debug_num_classes + 1));
+       new_ptr = SMB_REALLOC_ARRAY(new_ptr, int, debug_num_classes + 1);
        if (!new_ptr)
                return -1;
        DEBUGLEVEL_CLASS = new_ptr;
@@ -309,19 +311,18 @@ int debug_add_class(const char *classname)
        if (new_ptr == &debug_all_class_isset_hack) {
                new_ptr = NULL;
        }
-       new_ptr = Realloc(new_ptr, sizeof(BOOL) * (debug_num_classes + 1));
+       new_ptr = SMB_REALLOC_ARRAY(new_ptr, BOOL, debug_num_classes + 1);
        if (!new_ptr)
                return -1;
        DEBUGLEVEL_CLASS_ISSET = new_ptr;
        DEBUGLEVEL_CLASS_ISSET[ndx] = False;
 
-       new_ptr = Realloc(classname_table,
-                         sizeof(char *) * (debug_num_classes + 1));
+       new_ptr = SMB_REALLOC_ARRAY(classname_table, char *, debug_num_classes + 1);
        if (!new_ptr)
                return -1;
        classname_table = new_ptr;
 
-       classname_table[ndx] = strdup(classname);
+       classname_table[ndx] = SMB_STRDUP(classname);
        if (! classname_table[ndx])
                return -1;
        
@@ -447,19 +448,22 @@ BOOL debug_parse_levels(const char *params_str)
  Receive a "set debug level" message.
 ****************************************************************************/
 
-static void debug_message(int msg_type, pid_t src, void *buf, size_t len)
+static void debug_message(int msg_type, struct process_id src,
+                         void *buf, size_t len)
 {
        const char *params_str = buf;
 
        /* Check, it's a proper string! */
        if (params_str[len-1] != '\0') {
                DEBUG(1, ("Invalid debug message from pid %u to pid %u\n",
-                         (unsigned int)src, (unsigned int)getpid()));
+                         (unsigned int)procid_to_pid(&src),
+                         (unsigned int)getpid()));
                return;
        }
 
        DEBUG(3, ("INFO: Remote set of debug to `%s'  (pid %u from pid %u)\n",
-                 params_str, (unsigned int)getpid(), (unsigned int)src));
+                 params_str, (unsigned int)getpid(),
+                 (unsigned int)procid_to_pid(&src)));
 
        debug_parse_levels(params_str);
 }
@@ -472,7 +476,8 @@ void debug_message_send(pid_t pid, const char *params_str)
 {
        if (!params_str)
                return;
-       message_send_pid(pid, MSG_DEBUG, params_str, strlen(params_str) + 1,
+       message_send_pid(pid_to_procid(pid), MSG_DEBUG,
+                        params_str, strlen(params_str) + 1,
                         False);
 }
 
@@ -480,11 +485,13 @@ void debug_message_send(pid_t pid, const char *params_str)
  Return current debug level.
 ****************************************************************************/
 
-static void debuglevel_message(int msg_type, pid_t src, void *buf, size_t len)
+static void debuglevel_message(int msg_type, struct process_id src,
+                              void *buf, size_t len)
 {
        char *message = debug_list_class_names_and_levels();
 
-       DEBUG(1,("INFO: Received REQ_DEBUGLEVEL message from PID %u\n",(unsigned int)src));
+       DEBUG(1,("INFO: Received REQ_DEBUGLEVEL message from PID %u\n",
+                (unsigned int)procid_to_pid(&src)));
        message_send_pid(src, MSG_DEBUGLEVEL, message, strlen(message) + 1, True);
 
        SAFE_FREE(message);