reading C Programming in Plan 9. in plan 9, you use "error strings" instead of numbers?
Immediately, expert C programmers will say things like “Where did stdio go?” and shout at the top of their lungs things like “You can’t declare main as returning void!” If you’re one of these guys, then you better get used to it.
A better idea is to give the programmer the ability to handle any error that comes in without worry of losing standards compliance or clarity, and to generate any error without falling into a surfeit of possibility. So the designers of Plan 9 decided to use strings instead of numbers. Each program has an error string which is set by routines when an error occurs. And each program returns a string to the host environment with the exits system call. The value given to exits can be accessed from rc through the environment variable $status.
i wrote a small program to explore:
#include <u.h>
#include <libc.h>