Changeset e2ea8d7e in mainline for uspace/app/bdsh/errors.c
- Timestamp:
- 2008-08-27T05:36:12Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1b4b7b6
- Parents:
- b510d52
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/bdsh/errors.c
rb510d52 re2ea8d7e 39 39 #include "errstr.h" 40 40 41 volatile int cli_errno = CL_EOK; 42 extern volatile unsigned int cli_quit; 43 41 44 /* Error printing, translation and handling functions */ 42 45 43 volatile int cli_lasterr = 0;44 extern volatile unsigned int cli_verbocity;45 46 46 47 /* Look up errno in cl_errors and return the corresponding string. 47 48 * Return NULL if not found */ 48 char *err2str(int errno)49 static char *err2str(int err) 49 50 { 50 51 51 if (NULL != cl_errors[err no])52 return cl_errors[err no];52 if (NULL != cl_errors[err]) 53 return cl_errors[err]; 53 54 54 55 return (char *)NULL; … … 59 60 * cli_quit int that tells the main program loop to exit immediately */ 60 61 61 void cli_error(int err no, const char *fmt, ...)62 void cli_error(int err, const char *fmt, ...) 62 63 { 63 64 va_list vargs; … … 66 67 va_end(vargs); 67 68 68 if (NULL != err2str(err no))69 printf(" (%s)\n", err2str(err no));69 if (NULL != err2str(err)) 70 printf(" (%s)\n", err2str(err)); 70 71 else 71 printf(" (Unknown Error %d)\n", err no);72 printf(" (Unknown Error %d)\n", err); 72 73 73 if (errno < 0) 74 exit(EXIT_FAILURE); 74 /* If fatal, raise cli_quit so that we try to exit 75 * gracefully. This will break the main loop and 76 * invoke the destructor */ 77 if (err == CL_EFATAL) 78 cli_quit = 1; 75 79 76 } 80 return; 77 81 78 /* Just a smart printf(), print the string only if cli_verbocity is high */79 void cli_verbose(const char *fmt, ...)80 {81 if (cli_verbocity) {82 va_list vargs;83 84 printf("[*] ");85 va_start(vargs, fmt);86 vprintf(fmt, vargs);87 va_end(vargs);88 printf("\n");89 }90 return;91 82 } 92 83 … … 94 85 95 86 87
Note:
See TracChangeset
for help on using the changeset viewer.