Annotation of mstools/mssetup/source/mscpydis.c, revision 1.1

1.1     ! root        1: #include <windows.h>
        !             2: #include "setupapi.h"
        !             3: #include "mscpydis.h"
        !             4: 
        !             5: #define cchMax 255
        !             6: 
        !             7: static char szCuiDll[] = "mscuistf.dll";
        !             8: 
        !             9: 
        !            10: // **************************************************************************
        !            11: int FAR PASCAL InitSystemRead(int did, LPSTR sz, int fNet)
        !            12: {
        !            13: #ifdef DEBUG
        !            14:        int   n;
        !            15:        char  szDid[cchMax*3], szNet[cchMax];
        !            16:        LPSTR szTmp;
        !            17: 
        !            18:        n = 0;
        !            19:        if ((did < 1) || (did > 999))
        !            20:                n = 1;
        !            21:        else if (FValidSz(sz) && (InStr(1, sz, "\\") != 0))
        !            22:                n = 2;
        !            23: 
        !            24:        if (n > 0)
        !            25:                {
        !            26:                wsprintf(szDid, "%d", did);
        !            27:                wsprintf(szNet, "%d", fNet);
        !            28:                szTmp = SzCat2Str(szDid, ", ", sz);
        !            29:                BadArgErr(n, "InitSystemRead", SzCat2Str(szTmp, ", ", szNet));
        !            30:                }
        !            31: #endif // DEBUG
        !            32: 
        !            33:        return(FInitSystem1(did, sz, fNet));
        !            34: }
        !            35: 
        !            36: 
        !            37: // **************************************************************************
        !            38: int FAR PASCAL InitSystemWrite(int did, LPSTR sz, int fAlways)
        !            39: {
        !            40: #ifdef DEBUG
        !            41:        int  n;
        !            42:        char szDid[cchMax * 3], szAlways[cchMax];
        !            43:        LPSTR szTmp;
        !            44: 
        !            45:        n = 0;
        !            46:        if ((did < 1) || (did > 999))
        !            47:                n = 1;
        !            48:        else if (FValidSz(sz) && (InStr(1, sz,"\\") != 0))
        !            49:                n = 2;
        !            50:        if (n > 0)
        !            51:                {
        !            52:                wsprintf(szDid, "%d", did);
        !            53:                wsprintf(szAlways, "%d", fAlways);
        !            54:                szTmp = SzCat2Str(szDid, ", ", sz);
        !            55:                BadArgErr(n, "InitSystemWrite", SzCat2Str(szTmp, ", ", szAlways));
        !            56:                }
        !            57: #endif // DEBUG
        !            58: 
        !            59:        return(FInitSystem3(did, sz, fAlways));
        !            60: }
        !            61: 
        !            62: 
        !            63: // *************************************************************************
        !            64: void FAR PASCAL CloseSystem(LPSTR szSect, LPSTR szKey, LPSTR szDst,
        !            65:                int wResType, int wResId)
        !            66: {
        !            67: #ifdef DEBUG
        !            68:        int   n;
        !            69:        LPSTR szTmp;
        !            70:        char  szResType[cchMax], szResId[cchMax];
        !            71: 
        !            72:        if (FValidInfSect(szSect) == 0)
        !            73:                n = 1;
        !            74:        else if (FEmptySz(szKey))
        !            75:                n = 2;
        !            76: #if defined(WIN16)
        !            77:        else if (FValidFATDir(szDst) == 0)
        !            78: #elif defined(WIN32)
        !            79:        else if (FValidDir(szDst) == 0)
        !            80: #endif
        !            81:                n = 3;
        !            82:        else
        !            83:                n = 0;
        !            84:        if (n > 0)
        !            85:                {
        !            86:                szTmp = SzCat2Str(szSect, szKey, szDst);
        !            87:                wsprintf(szResType, "%d", wResType);
        !            88:                wsprintf(szResId, "%d", wResId);
        !            89:                BadArgErr(n, "CloseSystem", SzCat2Str(szTmp, szResType, szResId));
        !            90:                }
        !            91: #endif // DEBUG
        !            92: 
        !            93:        if (FCloseSystem(szSect, szKey, szDst, wResType, wResId) == 0)
        !            94:                {
        !            95: #ifdef DEBUG
        !            96:                LPSTR szTmp;
        !            97:                char  szResType[cchMax], szResId[cchMax];
        !            98: 
        !            99:                szTmp = SzCat2Str(szSect, szKey, szDst);
        !           100:                wsprintf(szResType, "%d", wResType);
        !           101:                wsprintf(szResId, "%d", wResId);
        !           102:                StfApiErr(saeFail, "CloseSystem", SzCat2Str(szTmp, szResType, szResId));
        !           103: #endif // DEBUG
        !           104:                SetupError(STFERR);
        !           105:                }
        !           106: }
        !           107: 
        !           108: 
        !           109: // **************************************************************************
        !           110: int FAR PASCAL InitSystem(int did, LPSTR sz, int fNet)
        !           111: {
        !           112:        return(InitSystemRead(did, sz, fNet)
        !           113:                        && InitSystemDlgs(fNet)
        !           114:                        && InitSystemWrite(did, sz, 0));
        !           115: }
        !           116: 
        !           117: 
        !           118: // **************************************************************************
        !           119: int FAR PASCAL InitSystemDlgs(int fNet)
        !           120: {
        !           121:        int   fOkay = 0;
        !           122:        char  rgchName[64];
        !           123:        char  rgchOrg[64];
        !           124:        char  rgchType[16];
        !           125:        char  rgchReturn[32];
        !           126:        char  rgchTmp[64];
        !           127:        LPSTR szTmp;
        !           128: 
        !           129:        GetSymbolValue("STF_CD_NAME", rgchName, 64);
        !           130:        GetSymbolValue("STF_CD_ORG",  rgchOrg,  64);
        !           131:        GetSymbolValue("STF_CD_TYPE", rgchType, 16);
        !           132: 
        !           133:        if (*rgchType == 'N')
        !           134:                {
        !           135:                if (fNet)
        !           136:                        {
        !           137:                        SetSymbolValue("EditTextIn", "");
        !           138:                        SetSymbolValue("EditFocus",  "");
        !           139: LGetOrgDialog:
        !           140:                        UIStartDlg(szCuiDll, CDGETORG, "FGetNameDlgProc", 0, "",
        !           141:                                        rgchReturn, 32);
        !           142: 
        !           143:                        if (*rgchReturn == 'C')
        !           144:                                {
        !           145:                                GetSymbolValue("EditTextOut", rgchTmp, 64);
        !           146:                                szTmp = rgchTmp;
        !           147:                                while (*szTmp == ' ')
        !           148:                                        szTmp++;
        !           149:                                lstrcpy(rgchOrg, szTmp);
        !           150:                                RightTrim(rgchOrg);
        !           151: 
        !           152:                                if (*rgchOrg == '\0')
        !           153:                                        {
        !           154:                                        BadNameOrg(CDBADORG);
        !           155:                                        goto LGetOrgDialog;
        !           156:                                        }
        !           157: 
        !           158:                                if (!NameOrgOkay(CDCONFIRMINFO, rgchOrg, ""))
        !           159:                                        goto LGetOrgDialog;
        !           160: 
        !           161:                                SetSymbolValue("STF_CD_ORG", rgchOrg);
        !           162:                                fOkay = 1;
        !           163:                                }
        !           164:                        else if (*rgchReturn == 'R')
        !           165:                                goto LGetOrgDialog;
        !           166:                        else
        !           167:                                SetSymbolValue("STF_CD_TYPE", "ERROR");
        !           168:                        UIPop(1);
        !           169:                        }
        !           170:                else
        !           171:                        {
        !           172: LGetNameOrgDialog:
        !           173:                        UIStartDlg(szCuiDll, CDGETNAMEORG, "FNameOrgDlgProc", 0, "",
        !           174:                                        rgchReturn, 32);
        !           175: 
        !           176:                        if (*rgchReturn == 'C')
        !           177:                                {
        !           178:                                GetSymbolValue("NameOut", rgchTmp, 64);
        !           179:                                szTmp = rgchTmp;
        !           180:                                while (*szTmp == ' ')
        !           181:                                        szTmp++;
        !           182:                                lstrcpy(rgchName, szTmp);
        !           183:                                RightTrim(rgchName);
        !           184: 
        !           185:                                GetSymbolValue("OrgOut", rgchTmp, 64);
        !           186:                                szTmp = rgchTmp;
        !           187:                                while (*szTmp == ' ')
        !           188:                                        szTmp++;
        !           189:                                lstrcpy(rgchOrg, szTmp);
        !           190:                                RightTrim(rgchOrg);
        !           191: 
        !           192:                                if (*rgchName == '\0')
        !           193:                                        {
        !           194:                                        BadNameOrg(CDBADNAME);
        !           195:                                        goto LGetNameOrgDialog;
        !           196:                                        }
        !           197:                                if (*rgchOrg == '\0')
        !           198:                                        lstrcpy(rgchOrg, " ");
        !           199:                                if (!NameOrgOkay(CDCONFIRMINFO, rgchName, rgchOrg))
        !           200:                                        goto LGetNameOrgDialog;
        !           201: 
        !           202:                                SetSymbolValue("STF_CD_NAME", rgchName);
        !           203:                                SetSymbolValue("STF_CD_ORG",  rgchOrg);
        !           204:                                fOkay = 1;
        !           205:                                }
        !           206:                        else
        !           207:                                SetSymbolValue("STF_CD_TYPE", "ERROR");
        !           208:                        UIPop(1);
        !           209:                        }
        !           210:                }
        !           211:        else if ((*rgchType == 'U') || (*rgchType == 'O'))
        !           212:                return(NameOrgOkay(CDALREADYUSED, rgchName, rgchOrg));
        !           213:        else if (*rgchType == 'W')
        !           214:                {
        !           215:                SetSymbolValue("EditTextIn", "");
        !           216:                SetSymbolValue("EditFocus",  "");
        !           217: LGetNameDialog:
        !           218:                UIStartDlg(szCuiDll, CDGETNAME, "FGetNameDlgProc", 0, "",
        !           219:                                rgchReturn, 32);
        !           220: 
        !           221:                if (*rgchReturn == 'C')
        !           222:                        {
        !           223:                        GetSymbolValue("EditTextOut", rgchTmp, 64);
        !           224:                        szTmp = rgchTmp;
        !           225:                        while (*szTmp == ' ')
        !           226:                                szTmp++;
        !           227:                        lstrcpy(rgchName, szTmp);
        !           228:                        RightTrim(rgchName);
        !           229: 
        !           230:                        if (*rgchName == '\0')
        !           231:                                {
        !           232:                                BadNameOrg(CDBADNAME);
        !           233:                                goto LGetNameDialog;
        !           234:                                }
        !           235: 
        !           236:                        if (!NameOrgOkay(CDCONFIRMINFO, rgchName, ""))
        !           237:                                goto LGetNameDialog;
        !           238: 
        !           239:                        SetSymbolValue("STF_CD_NAME", rgchName);
        !           240:                        fOkay = 1;
        !           241:                        }
        !           242:                else if (*rgchReturn == 'R')
        !           243:                        goto LGetNameDialog;
        !           244:                else
        !           245:                        SetSymbolValue("STF_CD_TYPE", "ERROR");
        !           246:                UIPop(1);
        !           247:                }
        !           248:        else
        !           249:                {
        !           250:                UIStartDlg(szCuiDll, CDBADFILE, "FInfoDlgProc", 0, "",
        !           251:                                rgchReturn, 32);
        !           252: 
        !           253:                if (*rgchReturn == 'C')
        !           254:                        fOkay = 1;
        !           255:                UIPop(1);
        !           256:                }
        !           257: 
        !           258:        return(fOkay);
        !           259: }
        !           260: 
        !           261: 
        !           262: // **************************************************************************
        !           263: void FAR PASCAL BadNameOrg(int dlg)
        !           264: {
        !           265:        char rgchReturn[16];
        !           266: 
        !           267:        UIStartDlg(szCuiDll, dlg, "FInfoDlgProc", 0, "", rgchReturn, 16);
        !           268:        UIPop(1);
        !           269: }
        !           270: 
        !           271: 
        !           272: // **************************************************************************
        !           273: int FAR PASCAL NameOrgOkay(int dlg, LPSTR szName, LPSTR szOrg)
        !           274: {
        !           275:        char rgchReturn[16];
        !           276: 
        !           277:        RemoveSymbol("ConfirmTextIn");
        !           278:        AddListItem("ConfirmTextIn", szName);
        !           279:        AddListItem("ConfirmTextIn", szOrg);
        !           280: 
        !           281:        UIStartDlg(szCuiDll, dlg, "FConfirmDlgProc", 0, "", rgchReturn, 16);
        !           282:        UIPop(1);
        !           283: 
        !           284:        if (*rgchReturn == 'C')
        !           285:                return(1);
        !           286: 
        !           287:        return(0);
        !           288: }

unix.superglobalmegacorp.com

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