lib: Move full_path_tos to util_str.c
[kai/samba-autobuild/.git] / source3 / smbd / files.c
index 5cf037edc260926d1e5542a5d8e640f5cd323d31..84968067082fc79d525e83d1120a9cfe3b15e95d 100644 (file)
@@ -688,45 +688,6 @@ NTSTATUS dup_file_fsp(struct smb_request *req, files_struct *from,
        return fsp_set_smb_fname(to, from->fsp_name);
 }
 
-/*
- * This routine improves performance for operations temporarily acting on a
- * full path. It is equivalent to the much more expensive
- *
- * talloc_asprintf(talloc_tos(), "%s/%s", dir, name)
- *
- * This actually does make a difference in metadata-heavy workloads (i.e. the
- * "standard" client.txt nbench run.
- */
-
-ssize_t full_path_tos(const char *dir, const char *name,
-                     char *tmpbuf, size_t tmpbuf_len,
-                     char **pdst, char **to_free)
-{
-       size_t dirlen, namelen, len;
-       char *dst;
-
-       dirlen = strlen(dir);
-       namelen = strlen(name);
-       len = dirlen + namelen + 1;
-
-       if (len < tmpbuf_len) {
-               dst = tmpbuf;
-               *to_free = NULL;
-       } else {
-               dst = talloc_array(talloc_tos(), char, len+1);
-               if (dst == NULL) {
-                       return -1;
-               }
-               *to_free = dst;
-       }
-
-       memcpy(dst, dir, dirlen);
-       dst[dirlen] = '/';
-       memcpy(dst+dirlen+1, name, namelen+1);
-       *pdst = dst;
-       return len;
-}
-
 /**
  * Return a jenkins hash of a pathname on a connection.
  */