1
0
mirror of https://github.com/rfivet/uemacs.git synced 2024-12-24 10:06:30 -05:00
uemacs/wrapper.c

44 lines
689 B
C
Raw Normal View History

2013-04-30 05:24:46 -04:00
/* wrapper.c -- implements wrapper.h */
#include "wrapper.h"
2013-05-01 02:00:16 -04:00
#include <stdio.h>
#include <stdlib.h>
2015-03-23 23:58:04 -04:00
#include <sys/stat.h>
2013-04-30 05:24:46 -04:00
#include <unistd.h>
#ifdef MINGW32
int mkstemp( char *template) {
return -1 ;
}
#endif
2013-05-01 02:00:16 -04:00
static void die( const char *err) {
fprintf( stderr, "fatal: %s\n", err) ;
exit( EXIT_FAILURE) ;
}
/* Function copyright: git */
2013-04-30 05:24:46 -04:00
void xmkstemp( char *template) {
int fd ;
2015-03-23 23:58:04 -04:00
mode_t o_mask ;
2013-04-30 05:24:46 -04:00
2015-03-23 23:58:04 -04:00
o_mask = umask( 0177) ;
2013-04-30 05:24:46 -04:00
fd = mkstemp( template) ;
if( fd < 0)
die( "Unable to create temporary file") ;
2015-03-23 23:58:04 -04:00
umask( o_mask) ;
2013-04-30 05:24:46 -04:00
close( fd) ;
}
2013-04-30 05:24:46 -04:00
void *xmalloc( size_t size) {
void *ret = malloc( size) ;
if( !ret)
die( "Out of memory") ;
return ret ;
}
2013-04-30 05:24:46 -04:00
/* end of wrapper.c */