Annotation of researchv10dc/cmd/icon/src/iconx/rdefault.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * File: rdefault.c
        !             3:  *  Contents: defcset, deffile, defint, defshort, defstr
        !             4:  */
        !             5: 
        !             6: #include "../h/rt.h"
        !             7: 
        !             8: /*
        !             9:  * defcset(dp,cp,buf,def) - if dp is null, default to def;
        !            10:  *  otherwise, convert to cset or die trying.
        !            11:  */
        !            12: 
        !            13: defcset(dp, cp, buf, def)
        !            14: struct descrip *dp;
        !            15: int **cp;
        !            16: int *buf, *def;
        !            17:    {
        !            18:    if (ChkNull(*dp)) {
        !            19:       *cp = def;
        !            20:       return 1;
        !            21:       }
        !            22:    if (cvcset(dp, cp, buf) == NULL)
        !            23:       runerr(104, dp);
        !            24:    return 0;
        !            25:    }
        !            26: 
        !            27: 
        !            28: /*
        !            29:  * deffile - if dp is null, default to def; otherwise, make sure it's a file.
        !            30:  */
        !            31: 
        !            32: deffile(dp, def)
        !            33: struct descrip *dp, *def;
        !            34:    {
        !            35:    if (ChkNull(*dp)) {
        !            36:       *dp = *def;
        !            37:       return 1;
        !            38:       }
        !            39:    if (Qual(*dp) || (*dp).dword != D_File)
        !            40:       runerr(105, dp);
        !            41:    return 0;
        !            42:    }
        !            43: 
        !            44: 
        !            45: /*
        !            46:  * defint - if dp is null, default to def; otherwise, convert to integer.
        !            47:  *  Note that *lp gets the value.
        !            48:  */
        !            49: 
        !            50: defint(dp, lp, def)
        !            51: struct descrip *dp;
        !            52: long *lp;
        !            53: word def;
        !            54:    {
        !            55:    if (ChkNull(*dp)) {
        !            56:       *lp = (long)def;
        !            57:       return 1;
        !            58:       }
        !            59:    if (cvint(dp, lp) == NULL)
        !            60:       runerr(101, dp);
        !            61:    return 0;
        !            62:    }
        !            63: 
        !            64: 
        !            65: /*
        !            66:  * defshort - if dp is null, default to def; otherwise, convert to short
        !            67:  *  integer.  The result is an integer value in *dp.
        !            68:  */
        !            69: 
        !            70: defshort(dp, def)
        !            71: struct descrip *dp;
        !            72: int def;
        !            73:    {
        !            74:    long l;
        !            75: 
        !            76:    if (ChkNull(*dp)) {
        !            77:       dp->dword = D_Integer;
        !            78:       IntVal(*dp) = (int)def;
        !            79:       return 1;
        !            80:       }
        !            81:    switch (cvint(dp, &l)) {
        !            82: 
        !            83:       case T_Integer:
        !            84:          Mkint(l, dp);
        !            85:         break;
        !            86: 
        !            87:       case T_Longint:
        !            88:          runerr(205, dp);
        !            89: 
        !            90:       default:
        !            91:         runerr(101, dp);
        !            92:       }
        !            93:    return 0;
        !            94:    }
        !            95: 
        !            96: 
        !            97: /*
        !            98:  * defstr - if dp is null, default to def; otherwise, convert to string.
        !            99:  *  *dp gets a descriptor for the resulting string.  buf is used as
        !           100:  *  a scratch buffer for the conversion (if necessary).
        !           101:  */
        !           102: 
        !           103: defstr(dp, buf, def)
        !           104: struct descrip *dp;
        !           105: char *buf;
        !           106: struct descrip *def;
        !           107:    {
        !           108:    if (ChkNull(*dp)) {
        !           109:       *dp = *def;
        !           110:       return 1;
        !           111:       }
        !           112:    if (cvstr(dp, buf) == NULL)
        !           113:       runerr(103, dp);
        !           114:    return 0;
        !           115:    }

unix.superglobalmegacorp.com

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