/* * Mailbox Daemon Temporary File helpers * * Copyright 2017 IBM * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ #define _GNU_SOURCE #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include "test/tmpf.h" int tmpf_init(struct tmpf *tmpf, const char *template) { strncpy(tmpf->path, template, sizeof(tmpf->path) - 1); tmpf->fd = mkstemp(tmpf->path); if (tmpf->fd < 0) { perror("mkstemp"); return -1; } return 0; } void tmpf_destroy(struct tmpf *tmpf) { if (tmpf->fd) close(tmpf->fd); if (tmpf->path) unlink(tmpf->path); }