/*
* Copyright (c) 1999
* Steven G. Kargl. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* This software is provided by Steven G. Kargl and contributors ``as is'' and
* any express or implied warranties, including, but not limited to, the implied
* warranties of merchantability and fitness for a particular purpose are
* disclaimed. In no event shall Steven G. Kargl or contributors be liable for
* any direct, indirect, incidental, special, exemplary, or consequential
* damages (including, but not limited to, procurement of substitute goods or
* services; loss of use, data, or profits; or business interruption) however
* caused and on any theory of liability, whether in contract, strict liability,
* or tort (including negligence or otherwise) arising in any way out of the
* use of this software, even if advised of the possibility of such damage.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "proto.h"
char *gettmpname(char *dir, char *ext) {
char *name;
if (dir) {
name = char_malloc(strlen(dir) + strlen(ext) + 8);
strcpy(name, dir);
strcat(name, "/f77XXXX");
} else {
name = char_malloc(strlen(ext) + 8);
strcpy(name, "f77XXXX");
}
if (!mktemp(name)) {
fputs("f77: gettmpname: name generation\n", stderr);
exit(1);
}
strcat(name, ext);
return name;
}
syntax highlighted by Code2HTML, v. 0.9.1