Annotation of researchv10no/cmd/nupas/ipc/ipcperror.c, revision 1.1.1.1

1.1       root        1: #include <stdio.h>
                      2: #include <string.h>
                      3: 
                      4: int ipcerrno;
                      5: char ipcerrstr[256];
                      6: 
                      7: extern int syserrno;
                      8: extern char syserrstr[128];
                      9: extern int ipcdebug;
                     10: 
                     11: extern char *ipclookup();
                     12: extern ipcgetsyserr();
                     13: 
                     14: /*
                     15:  * this routine records errors that the ipc routines themselves
                     16:  * have generated.  There is no need to check system errno's.
                     17:  */
                     18: ipcseterror(en, em, mess)
                     19:        int en;         /* the error number - should be from sysexits.h*/
                     20:        char *em;       /* the error msg associated with en */
                     21:        char *mess;     /* the error label */
                     22: {
                     23:        syserrno = en;
                     24:        ipcerrno = en;
                     25:        strncpy(syserrstr, em, sizeof(syserrstr));
                     26:        sprintf(ipcerrstr, "%s: %s", mess, syserrstr);
                     27:        if (ipcdebug)
                     28:                fprintf(stderr, "ipcseterror %d %s %s\n",
                     29:                        en, em, mess);
                     30: }
                     31: 
                     32: /*
                     33:  * ipcsyserr determines what system error just occurred, and
                     34:  * translates it to the sysexits.h error class.  The text is
                     35:  * saved for possible posterity.  NB: the translation is highly
                     36:  * machine-dependent, so each OS needs its own ipclookup routine.
                     37:  *
                     38:  */
                     39: ipcsyserr(mess)
                     40:        char *mess;
                     41: {
                     42:        extern char syserrstr[];
                     43: 
                     44:        ipcgetsyserr();
                     45:        ipcerrno = ipcmaperror();
                     46:        sprintf(ipcerrstr, "%s: %s", mess, syserrstr);
                     47: }
                     48: 
                     49: 
                     50: ipcperror(mess)
                     51: char *mess;
                     52: {
                     53:        fprintf(stderr, "%s: %s\n", mess, ipcerrstr);
                     54: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.