MDL, C++,Scanning

 

I have a strange problem when scanning a file.  In the code below I am looking for cells with name beginning with characters "XX".  It finds all the cells which start with characters "XX" except cell: XXDWG.   Now if I comment out the 3 lines above the line mdlScanCriteria_setElementTypeTest(scP, NULL, sizeof(typeMask));  and uncomment that line it works!  I don't understand why that piece of code wont find XXDWG but find other similar cells like XXMAIN, XXTIT1, XXSHT, etc.  I have tried compressing the file but it does not help.

scP = mdlScanCriteria_create();
	status = mdlScanCriteria_setReturnType (scP, MSSCANCRIT_RETURN_FILEPOS, FALSE, TRUE);
	memset(typeMask, 0, sizeof(typeMask));

	typeMask[0] = TMSK0_CELL_HEADER;
	typeMask[4] = TMSK4_MICROSTATION_ELM;
	mdlScanCriteria_setElementTypeTest (scP, typeMask, sizeof(typeMask));
	//mdlScanCriteria_setElementTypeTest(scP, NULL, sizeof(typeMask));

	eofPos = mdlElement_getFilePos ( FILEPOS_EOF, NULL);
	modelRef = mdlModelRef_getActive();
	mdlScanCriteria_setModel (scP, MASTERFILE);
	filePos = 0L;
	actualPos = 0L;
	do
		{
		scanWords = sizeof (elemAddr) / sizeof (short); 

		status = mdlScanCriteria_scan ( scP, elemAddr, &scanWords, &filePos); 
		numAddr = scanWords/sizeof (short); 
		for ( i = 0 ; i < numAddr; i++)
			{
			if (elemAddr [i] >= eofPos)
   				break; 
			if (elemAddr [i] < actualPos)
    				continue; 
			mdlElmdscr_read ( &cellDP, elemAddr [i], ACTIVE_FILE, FALSE, &actualPos); 
			if (cellDP->el.ehdr.type == CELL_HEADER_ELM)
				{
				mdlCell_extract ( NULL, NULL, NULL, NULL, cellname, MAX_CELLNAME_LENGTH, &cellDP->el);	
				if (cellname [0] == L'X' && cellname [1] == L'X')
					{
					replace = 0;
					status = mdlElmdscr_operation ( cellDP, (PFElemOperation )putTitleInfo, &dummy, ELMD_ELEMENT | ELMD_PRE_HDR | ELMD_PRE_NESTEDHDR);
					if (replace)
						status = mdlElmdscr_rewrite ( cellDP, NULL, actualPos);
					}
				}
			mdlElmdscr_freeAll (&cellDP);
			}
    		} while (status == BUFF_FULL); 
	return SUCCESS;

XXXX084.001.DGN

Parents Reply Children
No Data