git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
Usermode - Moved include files to each library's directory
[tpg/acess2.git]
/
Usermode
/
Libraries
/
libc.so_src
/
fileIO.c
diff --git
a/Usermode/Libraries/libc.so_src/fileIO.c
b/Usermode/Libraries/libc.so_src/fileIO.c
index
441e72e
..
776a2de
100644
(file)
--- a/
Usermode/Libraries/libc.so_src/fileIO.c
+++ b/
Usermode/Libraries/libc.so_src/fileIO.c
@@
-154,27
+154,14
@@
EXPORT int vfprintf(FILE *fp, const char *format, va_list args)
{
\r
va_list tmpList;
\r
int size;
\r
- char sbuf[1024];
\r
- char *buf = sbuf;
\r
\r
if(!fp || !format) return -1;
\r
\r
va_copy(tmpList, args);
\r
\r
- size = vsnprintf(sbuf, sizeof(sbuf), (char*)format, tmpList);
\r
-
\r
- if( size >= sizeof(sbuf) )
\r
- {
\r
- buf = (char*)malloc(size+1);
\r
- if(!buf) {
\r
- WRITE_STR(_stdout, "vfprintf ERROR: malloc() failed");
\r
- return 0;
\r
- }
\r
- buf[size] = '\0';
\r
-
\r
- // Print
\r
- vsnprintf(buf, size+1, (char*)format, args);
\r
- }
\r
+ size = vsnprintf(NULL, 0, (char*)format, tmpList);
\r
+ char buf[size+1];
\r
+ vsnprintf(buf, size+1, (char*)format, args);
\r
\r
// Write to stream
\r
write(fp->FD, buf, size);
\r
@@
-543,29
+530,17
@@
EXPORT int printf(const char *format, ...)
{
\r
#if 1
\r
int size;
\r
- char sbuf[1024];
\r
- char *buf = sbuf;
\r
va_list args;
\r
\r
// Get final size
\r
va_start(args, format);
\r
- size = vsnprintf(sbuf, 1024, (char*)format, args);
\r
+ size = vsnprintf(NULL, 0, (char*)format, args);
\r
+ va_end(args);
\r
+ char buf[size+1];
\r
+ // Fill Buffer
\r
+ va_start(args, format);
\r
+ vsnprintf(buf, size+1, (char*)format, args);
\r
va_end(args);
\r
-
\r
- if( size >= 1024 ) {
\r
- // Allocate buffer
\r
- buf = (char*)malloc(size+1);
\r
- if(buf) {
\r
- WRITE_STR(_stdout, "PRINTF ERROR: malloc() failed\n");
\r
- return 0;
\r
- }
\r
- buf[size] = '\0';
\r
-
\r
- // Fill Buffer
\r
- va_start(args, format);
\r
- vsnprintf(buf, size+1, (char*)format, args);
\r
- va_end(args);
\r
- }
\r
\r
// Send to stdout
\r
write(_stdout, buf, size+1);
\r
UCC
git Repository :: git.ucc.asn.au