MCPcopy Create free account
hub / github.com/ZDoom/Raze / FindField

Function FindField

source/common/scripting/core/imports.cpp:110–134  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

108//==========================================================================
109
110FieldDesc *FindField(PContainerType *cls, const char * string)
111{
112 int min = 0, max = FieldTable.Size() - 1;
113 const char * cname = cls ? cls->TypeName.GetChars() : "";
114
115 while (min <= max)
116 {
117 int mid = (min + max) / 2;
118 int lexval = CompareClassNames(cname, FieldTable[mid]);
119 if (lexval == 0) lexval = stricmp(string, FieldTable[mid].FieldName);
120 if (lexval == 0)
121 {
122 return &FieldTable[mid];
123 }
124 else if (lexval > 0)
125 {
126 min = mid + 1;
127 }
128 else
129 {
130 max = mid - 1;
131 }
132 }
133 return nullptr;
134}
135
136
137//==========================================================================

Callers 1

CompileFieldsMethod · 0.85

Calls 4

CompareClassNamesFunction · 0.85
stricmpFunction · 0.85
SizeMethod · 0.45
GetCharsMethod · 0.45

Tested by

no test coverage detected