• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/postfix-252/postfix/src/util/

Lines Matching refs:ep

174 #define EDIT_FILE_ALLOC(ep, path, mode) do { \
175 (ep) = (EDIT_FILE *) mymalloc(sizeof(EDIT_FILE)); \
176 (ep)->final_path = mystrdup(path); \
177 (ep)->final_mode = (mode); \
178 (ep)->tmp_path = concatenate((path), EDIT_FILE_SUFFIX, (char *) 0); \
179 (ep)->tmp_fp = 0; \
182 #define EDIT_FILE_FREE(ep) do { \
183 myfree((ep)->final_path); \
184 myfree((ep)->tmp_path); \
185 myfree((char *) (ep)); \
195 EDIT_FILE *ep;
200 EDIT_FILE_ALLOC(ep, path, mode);
209 for ( /* void */ ; /* void */ ; (void) vstream_fclose(ep->tmp_fp)) {
225 if ((ep->tmp_fp = vstream_fopen(ep->tmp_path, flags & ~(O_TRUNC),
228 EDIT_FILE_FREE(ep);
238 if (myflock(vstream_fileno(ep->tmp_fp), INTERNAL_LOCK,
240 msg_fatal("lock %s: %m", ep->tmp_path);
247 if (fstat(vstream_fileno(ep->tmp_fp), &before_lock) < 0)
248 msg_fatal("open %s: %m", ep->tmp_path);
249 if (stat(ep->tmp_path, &after_lock) < 0
288 if (unlink(ep->tmp_path) < 0 && errno != ENOENT)
289 msg_fatal("unlink %s: %m", ep->tmp_path);
297 if (ftruncate(vstream_fileno(ep->tmp_fp), 0) < 0)
298 msg_fatal("truncate %s: %m", ep->tmp_path);
300 return (ep);
306 void edit_file_cleanup(EDIT_FILE *ep)
312 if (unlink(ep->tmp_path) < 0 && errno != ENOENT)
313 msg_fatal("unlink %s: %m", ep->tmp_path);
314 (void) vstream_fclose(ep->tmp_fp);
315 EDIT_FILE_FREE(ep);
320 int edit_file_close(EDIT_FILE *ep)
322 VSTREAM *fp = ep->tmp_fp;
339 || fchmod(fd, ep->final_mode) < 0
343 || rename(ep->tmp_path, ep->final_path) < 0) {
345 edit_file_cleanup(ep);
349 (void) vstream_fclose(ep->tmp_fp);
350 EDIT_FILE_FREE(ep);