view toys/other/hello.c @ 729:aaa638e82e51

The open group changed their website stupidly, so forwards to a dead server and you have to use now. Change the hello template to note the new location. (Waiting to see if they fix it upstream before touching every command in toys/posix.)
author Rob Landley <>
date Sat, 01 Dec 2012 18:26:21 -0600
parents 786841fdb1e0
children b4faf2ae39e8
line wrap: on
line source

/* hello.c - A hello world program. (Template for new commands.)
 * Copyright 2012 Rob Landley <>
 * See
 * See


config HELLO
  bool "hello"
  default n
    usage: hello [-a] [-b string] [-c number] [-d list] [-e count] [...]

    A hello world program.  You don't need this.

    Mostly used as an example/skeleton file for adding new commands,
    occasionally nice to test kernel booting via "init=/bin/hello".

#define FOR_hello
#include "toys.h"

// Hello doesn't use these globals, they're here for example/skeleton purposes.

  char *b_string;
  long c_number;
  struct arg_list *d_list;
  long e_count;

  int more_globals;

void hello_main(void)
  printf("Hello world\n");

  if (toys.optflags & FLAG_a) printf("Saw a\n");
  if (toys.optflags & FLAG_b) printf("b=%s\n", TT.b_string);
  if (toys.optflags & FLAG_c) printf("c=%ld\n", TT.c_number);
  while (TT.d_list) {
    printf("d=%s\n", TT.d_list->arg);
    TT.d_list = TT.d_list->next;
  if (TT.e_count) printf("e was seen %ld times", TT.e_count);

  while (*toys.optargs) printf("optarg=%s\n", *(toys.optargs++));