Annotation of researchv9/jerq/sgs/libsdp/fault.c, revision 1.1.1.1

1.1       root        1: static char ID[] = "@(#) fault.c: 1.1 3/16/82";
                      2: #include "sdp.h"
                      3: #include "define3.h"
                      4: 
                      5: #ifdef SHORT
                      6: #define FA01   "FA01 "
                      7: #define FA02   "FA02 "
                      8: #define FA03   "FA03 "
                      9: #define FA04   "FA04 "
                     10: #else
                     11: #define FA01   "%s","FA01 -- error return from nextsearch\n"
                     12: #define FA02   "%s","FA02 -- error return from writeframe\n"
                     13: #define FA03   "FA03 -- unknown ref/change value\n%d\t%o\t%d\n",manager[frame].ref_chng,sp,frame
                     14: #define FA04   "%s","FA04 -- error return from readpage\n"
                     15: #endif
                     16: 
                     17: extern FATAL() ;
                     18: extern struct LIBFILE *Glib_file ;
                     19: extern nextsearch() ;
                     20: extern readpage() ;
                     21: extern writeframe() ;
                     22: 
                     23: int                                    /* frame number of ERROR */
                     24: fault(sp,id)
                     25: struct SPACE   *sp ;
                     26: ITEMID         id ;
                     27: {
                     28:        register int            frame ;
                     29:        register struct MANAGER *manager ;
                     30: 
                     31:        id -= id % (sp->environ)->frame_size ;
                     32:        if( (frame = nextsearch(sp->environ)) == NOTFOUND)
                     33:                ERR_RET(FA01,ERROR)
                     34: 
                     35:        manager = (sp->environ)->manp ;
                     36:        switch(manager[frame].ref_chng)
                     37:        {
                     38:                case WRTN:
                     39:                        if(writeframe(manager[frame].space,frame) == ERROR)
                     40:                                ERR_RET(FA02,ERROR)
                     41: 
                     42:                case RCNULL:
                     43:                case RNLY:
                     44:                        break ;
                     45: 
                     46:                default:
                     47:                        ERR_RET(FA03,ERROR)
                     48:                        break ;
                     49:        }
                     50: 
                     51:        if(readpage(sp,id,frame) == ERROR)
                     52:                ERR_RET(FA04,ERROR)
                     53: 
                     54:        manager[frame].space = sp ;
                     55:        manager[frame].page_id = id ;
                     56: 
                     57:        return(frame) ;
                     58: }

unix.superglobalmegacorp.com

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