Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 8e81a7e in mainline


Ignore:
Timestamp:
2012-04-01T17:45:39Z (10 years ago)
Author:
Prutkov Alex <prutkov.alex@…>
Branches:
lfn, master
Children:
087c27f6
Parents:
1ffd74e
Message:

Added TODO for printf, some comments, fixed BDSH TODO list

Location:
uspace/app/bdsh
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/bdsh/TODO

    r1ffd74e r8e81a7e  
    3030* Add wrappers for signal, sigaction to make ports to modules easier
    3131
    32 * Add 'echo' and 'printf' modules.
    33 
    3432Regarding POSIX:
    3533----------------
  • uspace/app/bdsh/cmds/modules/printf/printf.c

    r1ffd74e r8e81a7e  
    5959
    6060
    61 static void print_arg(wchar_t ch, const char* arg)
     61static int print_arg(wchar_t ch, const char* arg)
    6262{
    6363        switch(ch) {
     
    7272                break;
    7373        default:
    74                 return;
     74                return CMD_FAILURE;
    7575        }
     76        return CMD_SUCCESS;
    7677}
    7778
    78 static void process_esc(wchar_t ch)
     79static int process_esc(wchar_t ch)
    7980{
    8081        switch(ch) {
     
    8384                break;
    8485        default:
    85                 return;
     86                return CMD_FAILURE;
    8687        }
     88        return CMD_SUCCESS;
    8789}
    8890
    8991
    90 /* Main entry point for printf, accepts an array of arguments */
     92/* Prints formatted data.
     93 * Accepted format flags:
     94 * %d - print an integer
     95 * %u - print an unsigned integer
     96 * %s - print a null terminated string
     97 *****
     98 * Accepted output controls:
     99 * \n - new line
     100 */
    91101int cmd_printf(char **argv)
    92102{
     
    96106        wchar_t ch;
    97107        bool esc_flag = false;
    98         unsigned int carg;
     108        unsigned int carg;     // Current argument
    99109
    100110        /* Count the arguments */
     
    128138                                break;
    129139                        }
     140                        if (carg == argc) {
     141                                printf("\nBad parameter number. Aborted.\n");
     142                                return CMD_FAILURE;
     143                        }
    130144                        print_arg(ch, argv[carg]);
    131145                        ++carg;
Note: See TracChangeset for help on using the changeset viewer.