windows-nt/Source/XPSP1/NT/sdktools/rcdll/rcppx.c
2020-09-26 16:20:57 +08:00

92 lines
2.2 KiB
C

/************************************************************************/
/* */
/* RCPP - Resource Compiler Pre-Processor for NT system */
/* */
/* P0MACROS.C - Preprocessor Macros definitions */
/* */
/* 27-Nov-90 w-BrianM Update for NT from PM SDK RCPP */
/* */
/************************************************************************/
#include "rc.h"
int afxReadOnlySymbols = FALSE;
int afxHiddenSymbols = FALSE;
WCHAR* afxSzReadOnlySymbols = L"APSTUDIO_READONLY_SYMBOLS";
WCHAR* afxSzHiddenSymbols = L"APSTUDIO_HIDDEN_SYMBOLS";
static WCHAR lineBuffer[2048];
void
AfxOutputMacroUse(
pdefn_t p
)
{
if (!fAFXSymbols)
return;
if (afxHiddenSymbols)
return;
swprintf(lineBuffer,
L" %c\"%s%c%s%c%d\"",
SYMUSESTART,
DEFN_NAME(p),
SYMDELIMIT,
Filename,
SYMDELIMIT,
Linenumber);
move_to_exp(lineBuffer);
}
void
AfxOutputMacroDefn(
pdefn_t p
)
{
char flags;
int nLen;
if (!fAFXSymbols || OUTPUTFILE == NULL)
return;
if (wcscmp(DEFN_NAME(p), afxSzReadOnlySymbols) == 0) {
afxReadOnlySymbols = TRUE;
return;
}
if (wcscmp(DEFN_NAME(p), afxSzHiddenSymbols) == 0) {
afxHiddenSymbols = TRUE;
return;
}
if (afxHiddenSymbols || DEFN_TEXT(p) == NULL)
return;
if (afxReadOnlySymbols)
flags = SYS_RESOURCE;
else
flags = 0;
nLen = swprintf(lineBuffer,
L"%c%s%c%s%c%d%c%c%c",
SYMDEFSTART,
DEFN_NAME(p),
SYMDELIMIT,
DEFN_TEXT(p),
SYMDELIMIT,
#if 0
Filename,
SYMDELIMIT,
// don't forget to add %s%c
#endif
Linenumber,
SYMDELIMIT,
(char)flags | '\200', // (char)0x80,
SYMDELIMIT);
myfwrite(lineBuffer, nLen * sizeof(WCHAR), 1, OUTPUTFILE);
}