//
// aegis - project change supervisor
// Copyright (C) 2014 Peter Miller
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3 of the License, or (at
// your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this program. If not, see .
//
#include
#include
#include
#include
#include
static void
usage(void)
{
const char *prog = progname_get();
fprintf(stderr, "Usage: %s [ ];\n", prog);
exit(EXIT_FAILURE);
}
int
main(int argc, char **argv)
{
progname_set(argv[0]);
const char *dir = getenv("TMPDIR");
if (!dir || !*dir || *dir != '/')
dir = "/tmp";
const char *prefix = "tmp";
switch (argc)
{
case 1:
break;
case 2:
prefix = argv[1];
break;
default:
usage();
// NOTREACHED
}
char buf[100];
snprintf(buf, sizeof(buf), "%s/%s.%s", dir, prefix, "XXXXXX");
if (!mkdtemp(buf))
nfatal("mkdtemp(\"%\")", buf);
printf("%s\n", buf);
return EXIT_SUCCESS;
}
// vim: set ts=8 sw=4 et :