]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
lib: Add adouble_name()
authorVolker Lendecke <vl@samba.org>
Thu, 20 Mar 2025 08:30:39 +0000 (09:30 +0100)
committerVolker Lendecke <vl@samba.org>
Thu, 27 Mar 2025 13:13:31 +0000 (13:13 +0000)
Just prepend "._" to a relname.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Anoop C S <anoopcs@samba.org>
source3/lib/adouble.c
source3/lib/adouble.h

index f7f1a36c30cc08f9bd9cbe3e7b191ce06902a7b3..c2980c5b208f6f481fcdb2c632f28ccc66598269 100644 (file)
@@ -2787,6 +2787,22 @@ int adouble_path(TALLOC_CTX *ctx,
        return 0;
 }
 
+struct smb_filename *adouble_name(TALLOC_CTX *mem_ctx,
+                                 const struct smb_filename *base)
+{
+       size_t ad_len = strlen(base->base_name);
+       char ad_name[ad_len + 3];
+       struct smb_filename ad_fname = {
+               .base_name = ad_name,
+               .flags = base->flags,
+               .twrp = base->twrp,
+       };
+
+       snprintf(ad_name, sizeof(ad_name), "._%s", base->base_name);
+
+       return cp_smb_filename(mem_ctx, &ad_fname);
+}
+
 /**
  * Allocate and initialize an AfpInfo struct
  **/
index 3caac47185d4e8e49b581dca324b6f9753979df3..3879b79fed17ba9a7ba8293d668c4ee8b76fbfd5 100644 (file)
@@ -184,6 +184,8 @@ bool is_adouble_file(const char *path);
 int adouble_path(TALLOC_CTX *ctx,
                 const struct smb_filename *smb_fname_in,
                 struct smb_filename **pp_smb_fname_out);
+struct smb_filename *adouble_name(TALLOC_CTX *mem_ctx,
+                                 const struct smb_filename *base);
 
 AfpInfo *afpinfo_new(TALLOC_CTX *ctx);
 ssize_t afpinfo_pack(const AfpInfo *ai, char *buf);