diff --git a/logname.c b/logname.c new file mode 100644 index 0000000..a38d50f --- /dev/null +++ b/logname.c @@ -0,0 +1,21 @@ +#include +#include +#include + +int main(int argc, char * argv[]) { + char * logname = getlogin(); + + if(logname == NULL) { + switch(errno) { + case EMFILE: fprintf(stderr, "%s: all file descriptors open\n", argv[0]); + break; + case ENFILE: fprintf(stderr, "%s: too many files open", argv[0]); break; + default: fprintf(stderr, "%s: other/unknown error", argv[0]); + } + return 1; + } + else { + printf("%s\n", logname); + return 0; + } +} \ No newline at end of file