Changeset a68f737 in mainline for uspace/lib/libc/generic/libc.c


Ignore:
Timestamp:
2009-06-08T12:34:38Z (16 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d9c8c81
Parents:
f8ef660
Message:

keep a list of open files to support proper cleanup

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/libc/generic/libc.c

    rf8ef660 ra68f737  
    8080                argc = 0;
    8181                argv = NULL;
     82                stdio_init(0, NULL);
    8283        } else {
    8384                argc = __pcb->argc;
    8485                argv = __pcb->argv;
    85                
    86                 if (__pcb->filc > 0)
    87                         stdin = fopen_node(__pcb->filv[0], "r");
    88                
    89                 if (__pcb->filc > 1)
    90                         stdout = fopen_node(__pcb->filv[1], "w");
    91                
    92                 if (__pcb->filc > 2)
    93                         stderr = fopen_node(__pcb->filv[2], "w");
     86                stdio_init(__pcb->filc, __pcb->filv);
    9487        }
    9588       
    9689        main(argc, argv);
    97        
    98         if (stdin != NULL)
    99                 fclose(stdin);
    100        
    101         if (stdout != NULL)
    102                 fclose(stdout);
    103        
    104         if (stderr != NULL)
    105                 fclose(stderr);
     90        stdio_done();
    10691}
    10792
Note: See TracChangeset for help on using the changeset viewer.