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

Changeset 4deb8b5 in mainline for uspace/app/getterm/getterm.c


Ignore:
Timestamp:
2010-11-14T17:32:18Z (11 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master
Children:
a9db9b8
Parents:
d52b0044
Message:

Make bdsh help command more HelenOS-centric.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/getterm/getterm.c

    rd52b0044 r4deb8b5  
    4343#include <errno.h>
    4444#include "version.h"
     45#include "welcome.h"
    4546
    4647#define APP_NAME  "getterm"
     
    4849static void usage(void)
    4950{
    50         printf("Usage: %s <terminal> <command> [<arguments...>]\n", APP_NAME);
     51        printf("Usage: %s <terminal> [-w] <command> [<arguments...>]\n", APP_NAME);
    5152}
    5253
     
    7980        int retval;
    8081        task_id_t id;
    81         char *fname;
     82        char *fname, *term;
     83        char **cmd_args;
     84        bool print_wmsg;
    8285
    83         if (argc < 3) {
     86        ++argv; --argc;
     87        if (argc < 1) {
    8488                usage();
    8589                return -1;
    8690        }
     91
     92        if (str_cmp(*argv, "-w") == 0) {
     93                print_wmsg = true;
     94                ++argv; --argc;
     95        } else {
     96                print_wmsg = false;
     97        }
     98
     99        if (argc < 2) {
     100                usage();
     101                return -1;
     102        }
     103
     104        term = *argv++;
     105        fname = *argv;
     106        cmd_args = argv;
    87107       
    88         reopen(&stdin, 0, argv[1], O_RDONLY, "r");
    89         reopen(&stdout, 1, argv[1], O_WRONLY, "w");
    90         reopen(&stderr, 2, argv[1], O_WRONLY, "w");
     108        reopen(&stdin, 0, term, O_RDONLY, "r");
     109        reopen(&stdout, 1, term, O_WRONLY, "w");
     110        reopen(&stderr, 2, term, O_WRONLY, "w");
    91111       
    92112        /*
     
    105125                return -4;
    106126       
    107         version_print(argv[1]);
    108         fname = argv[2];
    109        
    110         rc = task_spawnv(&id, fname, (const char * const *) &argv[2]);
     127        version_print(term);
     128        if (print_wmsg)
     129                welcome_msg_print();
     130
     131        rc = task_spawnv(&id, fname, (const char * const *) cmd_args);
    111132        if (rc != EOK) {
    112133                printf("%s: Error spawning %s (%s)\n", APP_NAME, fname,
Note: See TracChangeset for help on using the changeset viewer.