MCPcopy Create free account
hub / github.com/Meituan-Dianping/SQLAdvisor / add

Function add

dbug/dbug_analyze.c:233–296  ·  view source on GitHub ↗
(m_name)

Source from the content-addressed store, hash-verified

231 */
232
233unsigned int add (m_name)
234char *m_name;
235{
236 register unsigned int ind = 0;
237 register int cmp;
238
239 DBUG_ENTER ("add");
240 if (n_items == 0) { /* First item to be added */
241 s_table[0].pos = ind;
242 s_table[0].lchild = s_table[0].rchild = MAXPROCS;
243 addit:
244 modules[n_items].name = strsave (m_name);
245 modules[n_items].m_time = 0;
246 modules[n_items].m_calls = 0;
247 modules[n_items].m_stkuse = 0;
248 DBUG_RETURN (n_items++);
249 }
250 while ((cmp = strcmp (m_name,modules[ind].name))) {
251 if (cmp < 0) { /* In left subtree */
252 if (s_table[ind].lchild == MAXPROCS) {
253 /* Add as left child */
254 if (n_items >= MAXPROCS) {
255 fprintf (DBUG_FILE,
256 "%s: Too many functions being profiled\n",
257 my_name);
258 exit (EX_SOFTWARE);
259 }
260 s_table[n_items].pos = s_table[ind].lchild = n_items;
261 s_table[n_items].lchild = s_table[n_items].rchild = MAXPROCS;
262#ifdef notdef
263 modules[n_items].name = strsave (m_name);
264 modules[n_items].m_time = modules[n_items].m_calls = 0;
265 DBUG_RETURN (n_items++);
266#else
267 goto addit;
268#endif
269
270 }
271 ind = s_table[ind].lchild; /* else traverse l-tree */
272 } else {
273 if (s_table[ind].rchild == MAXPROCS) {
274 /* Add as right child */
275 if (n_items >= MAXPROCS) {
276 fprintf (DBUG_FILE,
277 "%s: Too many functions being profiled\n",
278 my_name);
279 exit (EX_SOFTWARE);
280 }
281 s_table[n_items].pos = s_table[ind].rchild = n_items;
282 s_table[n_items].lchild = s_table[n_items].rchild = MAXPROCS;
283#ifdef notdef
284 modules[n_items].name = strsave (m_name);
285 modules[n_items].m_time = modules[n_items].m_calls = 0;
286 DBUG_RETURN (n_items++);
287#else
288 goto addit;
289#endif
290

Callers 1

processFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected