aboutsummaryrefslogtreecommitdiffstats
path: root/src/pdclib/platform/stmos/functions/stdio/tmpfile.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pdclib/platform/stmos/functions/stdio/tmpfile.c')
-rw-r--r--src/pdclib/platform/stmos/functions/stdio/tmpfile.c124
1 files changed, 62 insertions, 62 deletions
diff --git a/src/pdclib/platform/stmos/functions/stdio/tmpfile.c b/src/pdclib/platform/stmos/functions/stdio/tmpfile.c
index 585a61d..f8a697b 100644
--- a/src/pdclib/platform/stmos/functions/stdio/tmpfile.c
+++ b/src/pdclib/platform/stmos/functions/stdio/tmpfile.c
@@ -4,20 +4,20 @@
Permission is granted to use, modify, and / or redistribute at will.
*/
-#include <stdio.h>
+//#include <stdio.h>
#ifndef REGTEST
#include "pdclib/_PDCLIB_glue.h"
-#include <inttypes.h>
+//#include <inttypes.h>
#include <stdlib.h>
-#include <string.h>
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
+//#include <string.h>
+//
+//#include <sys/types.h>
+//#include <sys/stat.h>
+//#include <fcntl.h>
+//#include <unistd.h>
extern struct _PDCLIB_file_t * _PDCLIB_filelist;
@@ -26,61 +26,61 @@ extern struct _PDCLIB_file_t * _PDCLIB_filelist;
*/
struct _PDCLIB_file_t * tmpfile( void )
{
- FILE * rc;
- /* This is the chosen way to get high-quality randomness. Replace as
- appropriate.
- */
- FILE * randomsource = fopen( "/proc/sys/kernel/random/uuid", "rb" );
- char filename[ L_tmpnam ];
- _PDCLIB_fd_t fd;
- if ( randomsource == NULL )
- {
- return NULL;
- }
- for ( ;; )
- {
- /* Get a filename candidate. What constitutes a valid filename and
- where temporary files are usually located is platform-dependent,
- which is one reason why this function is located in the platform
- overlay. The other reason is that a *good* implementation should
- use high-quality randomness instead of a pseudo-random sequence to
- generate the filename candidate, which is *also* platform-dependent.
- */
- unsigned int random;
- fscanf( randomsource, "%u", &random );
- sprintf( filename, "/tmp/%u.tmp", random );
- /* Check if file of this name exists. Note that fopen() is a very weak
- check, which does not take e.g. access permissions into account
- (file might exist but not readable). Replace with something more
- appropriate.
- */
- fd = open( filename, O_CREAT | O_EXCL | O_RDWR, S_IRUSR | S_IWUSR );
- if ( fd != -1 )
- {
- break;
- }
- close( fd );
- }
- fclose( randomsource );
- /* See fopen(). */
- if ( ( rc = calloc( 1, sizeof( struct _PDCLIB_file_t ) + _PDCLIB_UNGETCBUFSIZE + L_tmpnam + BUFSIZ ) ) == NULL )
- {
- /* No memory to set up FILE structure */
- close( fd );
+// FILE * rc;
+// /* This is the chosen way to get high-quality randomness. Replace as
+// appropriate.
+// */
+// FILE * randomsource = fopen( "/proc/sys/kernel/random/uuid", "rb" );
+// char filename[ L_tmpnam ];
+// _PDCLIB_fd_t fd;
+// if ( randomsource == NULL )
+// {
return NULL;
- }
- rc->status = _PDCLIB_filemode( "wb+" ) | _IOLBF | _PDCLIB_DELONCLOSE;
- rc->handle = fd;
- rc->ungetbuf = (unsigned char *)rc + sizeof( struct _PDCLIB_file_t );
- rc->filename = (char *)rc->ungetbuf + _PDCLIB_UNGETCBUFSIZE;
- rc->buffer = rc->filename + L_tmpnam;
- strcpy( rc->filename, filename );
- rc->bufsize = BUFSIZ;
- rc->bufidx = 0;
- rc->ungetidx = 0;
- rc->next = _PDCLIB_filelist;
- _PDCLIB_filelist = rc;
- return rc;
+// }
+// for ( ;; )
+// {
+// /* Get a filename candidate. What constitutes a valid filename and
+// where temporary files are usually located is platform-dependent,
+// which is one reason why this function is located in the platform
+// overlay. The other reason is that a *good* implementation should
+// use high-quality randomness instead of a pseudo-random sequence to
+// generate the filename candidate, which is *also* platform-dependent.
+// */
+// unsigned int random;
+// fscanf( randomsource, "%u", &random );
+// sprintf( filename, "/tmp/%u.tmp", random );
+// /* Check if file of this name exists. Note that fopen() is a very weak
+// check, which does not take e.g. access permissions into account
+// (file might exist but not readable). Replace with something more
+// appropriate.
+// */
+// fd = open( filename, O_CREAT | O_EXCL | O_RDWR, S_IRUSR | S_IWUSR );
+// if ( fd != -1 )
+// {
+// break;
+// }
+// close( fd );
+// }
+// fclose( randomsource );
+// /* See fopen(). */
+// if ( ( rc = calloc( 1, sizeof( struct _PDCLIB_file_t ) + _PDCLIB_UNGETCBUFSIZE + L_tmpnam + BUFSIZ ) ) == NULL )
+// {
+// /* No memory to set up FILE structure */
+// close( fd );
+// return NULL;
+// }
+// rc->status = _PDCLIB_filemode( "wb+" ) | _IOLBF | _PDCLIB_DELONCLOSE;
+// rc->handle = fd;
+// rc->ungetbuf = (unsigned char *)rc + sizeof( struct _PDCLIB_file_t );
+// rc->filename = (char *)rc->ungetbuf + _PDCLIB_UNGETCBUFSIZE;
+// rc->buffer = rc->filename + L_tmpnam;
+// strcpy( rc->filename, filename );
+// rc->bufsize = BUFSIZ;
+// rc->bufidx = 0;
+// rc->ungetidx = 0;
+// rc->next = _PDCLIB_filelist;
+// _PDCLIB_filelist = rc;
+// return rc;
}
#endif