Lines Matching defs:prefix
16 safe_mkstemp_full(string_t *prefix, mode_t mode, uid_t uid, gid_t gid,
25 prefix_len = str_len(prefix);
29 str_truncate(prefix, prefix_len);
30 str_append(prefix,
32 } while (lstat(str_c(prefix), &st) == 0);
35 i_error("stat(%s) failed: %m", str_c(prefix));
36 str_truncate(prefix, prefix_len);
41 fd = open(str_c(prefix), O_RDWR | O_EXCL | O_CREAT, 0666);
48 i_error("open(%s) failed: %m", str_c(prefix));
49 str_truncate(prefix, prefix_len);
59 str_c(prefix), gid, gid_origin));
62 str_c(prefix),
67 i_unlink(str_c(prefix));
68 str_truncate(prefix, prefix_len);
74 int safe_mkstemp(string_t *prefix, mode_t mode, uid_t uid, gid_t gid)
76 return safe_mkstemp_full(prefix, mode, uid, gid, NULL);
79 int safe_mkstemp_group(string_t *prefix, mode_t mode,
82 return safe_mkstemp_full(prefix, mode, (uid_t)-1, gid, gid_origin);
85 int safe_mkstemp_hostpid(string_t *prefix, mode_t mode, uid_t uid, gid_t gid)
87 size_t orig_prefix_len = str_len(prefix);
90 str_printfa(prefix, "%s.%s.", my_hostname, my_pid);
91 if ((fd = safe_mkstemp(prefix, mode, uid, gid)) == -1)
92 str_truncate(prefix, orig_prefix_len);
96 int safe_mkstemp_hostpid_group(string_t *prefix, mode_t mode,
99 size_t orig_prefix_len = str_len(prefix);
102 str_printfa(prefix, "%s.%s.", my_hostname, my_pid);
103 if ((fd = safe_mkstemp_group(prefix, mode, gid, gid_origin)) == -1)
104 str_truncate(prefix, orig_prefix_len);