s3:rpc_server/lsasd: remove dependency to libgen.h and basename()
authorStefan Metzmacher <metze@samba.org>
Tue, 19 Jun 2012 09:33:12 +0000 (11:33 +0200)
committerStefan Metzmacher <metze@samba.org>
Tue, 19 Jun 2012 15:04:29 +0000 (17:04 +0200)
metze

source3/rpc_server/lsasd.c

index 6608d6ba33279fabc4804b51e052beb7ff33533f..8be70984db783d1854bafcfed8a921989c79980e 100644 (file)
@@ -23,7 +23,6 @@
 #include "serverid.h"
 #include "messages.h"
 #include "ntdomain.h"
-#include <libgen.h>
 
 #include "lib/id_cache.h"
 
@@ -455,7 +454,8 @@ static void lsasd_handle_client(struct tevent_req *req)
                                    sd,
                                    NULL);
        } else if (tsocket_address_is_unix(srv_addr)) {
-               char *p;
+               const char *p;
+               const char *b;
 
                p = tsocket_address_unix_path(srv_addr, tmp_ctx);
                if (p == NULL) {
@@ -463,22 +463,25 @@ static void lsasd_handle_client(struct tevent_req *req)
                        return;
                }
 
-               if (strstr(p, "/np/")) {
-                       p = basename(p);
+               b = strrchr(p, '/');
+               if (b != NULL) {
+                       b++;
+               } else {
+                       b = p;
+               }
 
+               if (strstr(p, "/np/")) {
                        named_pipe_accept_function(data->ev_ctx,
                                                   data->msg_ctx,
-                                                  p,
+                                                  b,
                                                   sd,
                                                   lsasd_client_terminated,
                                                   data);
                } else {
-                       p = basename(p);
-
                        dcerpc_ncacn_accept(data->ev_ctx,
                                            data->msg_ctx,
                                            NCALRPC,
-                                           p,
+                                           b,
                                            cli_addr,
                                            srv_addr,
                                            sd,