コード例 #1
0
ファイル: mhwd.cpp プロジェクト: Acidburn0zzz/mhwd
std::string mhwd::checkEnvironment() {
    std::string retValue = "";

    // Check if required directories exists. Otherwise return missing directory...
    if (!checkExist(MHWD_USB_CONFIG_DIR))
        retValue = MHWD_USB_CONFIG_DIR;
    if (!checkExist(MHWD_PCI_CONFIG_DIR))
        retValue = MHWD_PCI_CONFIG_DIR;
    if (!checkExist(MHWD_USB_DATABASE_DIR))
        retValue = MHWD_USB_DATABASE_DIR;
    if (!checkExist(MHWD_PCI_DATABASE_DIR))
        retValue = MHWD_PCI_DATABASE_DIR;

    return retValue;
}
コード例 #2
0
ファイル: ideMsgLog.cpp プロジェクト: doong123/altibase
PDL_HANDLE ideMsgLog::getFD()
{
    if ( mEnabled == ID_TRUE )
    {
        if ( checkExist() == ID_FALSE )
        {
            IDE_TEST( createFileAndHeader() != IDE_SUCCESS );
        }
        else
        {
            if ( isSameFile( mFD, mPath ) == ID_TRUE )
            {
                /* do nothing */
            }
            else
            {
                (void)close();
                IDE_TEST( open( mDebug ) != IDE_SUCCESS );

                IDE_TEST( writeWarningMessage() != IDE_SUCCESS );
            }
        }
    }
    else
    {
        /* do nothing */
    }

    return mFD;

    IDE_EXCEPTION_END;

    return PDL_INVALID_HANDLE;
}
コード例 #3
0
char* CCanLoggerDictonary::getRecordName ( int id ){
	//...Safe chech
	if (!checkExist(id))return NULL;

	//...Get the record
	std::map<int,sDictonaryItem *>::iterator it;
	it = hex_id_data.find(id);
	sDictonaryItem * get = NULL;(sDictonaryItem *)hex_id_data[id];
	return get->getDataName();
}
コード例 #4
0
ファイル: ideMsgLog.cpp プロジェクト: doong123/altibase
IDE_RC ideMsgLog::rotate(void)
{
    idBool  sNeedWriteMessage = ID_FALSE;

    if(mEnabled == ID_TRUE)
    {
        size_t sOffset;
        SInt sRotating;

        /* For IDE_ERR, do not perform rotation */
        IDE_TEST_RAISE(mSelf == IDE_ERR, IAMERR);

        sRotating = acpAtomicCas32(&mRotating, 1, 0);

        if(sRotating == 1)
        {
            /* spin */
            do
            {
                idlOS::thr_yield();
                sRotating = acpAtomicCas32(&mRotating, 1, 0);
            } while(sRotating == 1);
        }
        else
        {
            /* fall through */
        }

        if(checkExist() == ID_FALSE)
        {
            IDE_TEST(createFileAndHeader() != IDE_SUCCESS);
        }
        else
        {
            if ( isSameFile( mFD, mPath ) == ID_TRUE )
            {
                /* do nothing */
            }
            else
            {
                /* file is modified so close and open */
                (void)close();
                IDE_TEST( open( mDebug ) != IDE_SUCCESS );

                sNeedWriteMessage = ID_TRUE;
            }

            if(mMaxNumber > 0)
            {
                sOffset = (size_t)idlOS::lseek(mFD, 0, SEEK_END);

                if(sOffset >= mSize)
                {
                    IDE_TEST(closeAndRename() != IDE_SUCCESS);
                    mCurNumber = (mCurNumber + 1) % mMaxNumber;
                    IDE_TEST(createFileAndHeader() != IDE_SUCCESS);
                }
                else
                {
                    /* do not create file */
                }
            }
            else
            {
                /* fall through */
            }

            if ( sNeedWriteMessage == ID_TRUE )
            {
                IDE_TEST( writeWarningMessage() != IDE_SUCCESS );
            }
            else
            {
                /* do nothing */
            }
        }
    }
    else
    {
        /* pass */
    }

    /* For IDE_ERR, do not perform rotation */
    IDE_EXCEPTION_CONT(IAMERR);

    return IDE_SUCCESS;

    IDE_EXCEPTION_END;
    unrotate();
    return IDE_FAILURE;
}
コード例 #5
0
ファイル: ps01p02.c プロジェクト: hieunguyentr92/cs2104
int main() {
	noOfV=0;
	char c;
	char lname[256];
	int lname_c=0;
	char rname[256];
	int rname_c=0;
	char value[256];
	int value_c=0;
	char op[2];
	int op_c=0;
	stateType state;
	state = q0;
	printf("Enter your input:\n");
	while ((c = getchar()) != '\n') {
		//printf("delta(");
		//print_state(state);
		//printf(", %c) = ", c);

		switch(state) {
			case q0:
			if (existIn(alpha, c)) {
				state = q1;
				lname[lname_c] = c;
				lname_c++;
			}
			else if (existIn(digits, c)) {
				printf("Explode!\n");
				exit(0);
			}
			break;
			
			case q1:
			if (existIn(alpha,c)) {
				state = q1;
				lname[lname_c] = c;
				lname_c++;
			}
			else if (existIn(digits, c)) {
				state = q1;
				lname[lname_c] = c;
				lname_c++;
			}
			else if (existIn(ops, c)) {
				state = q2;
				op[op_c] = c;
				op_c++;
			}
			else {
				printf("Explode!\n");
				exit(0);
			}
			break;
			
			case q2:
			// if we reach this state, lname is already determined
			// check whether it already exists
			lname[lname_c] = '\0';
			op[op_c] = '\0';
			if (!checkExist(lname)) {
				//printf("<lname=%s don't exist.> ", lname);
				addToList(lname);
			}
			
			if (existIn(equal, c)) {
				state = q3;
			}
			else {
				printf("Explode!\n");
				exit(0);
			}
			break;
			
			case q3:
			if (existIn(alpha, c)) {
				state = q4;
				rname[rname_c] = c;
				rname_c++;
			}
			else if (existIn(digits, c)) {
				state = q5;
				value[value_c] = c;
				value_c++;
			}
			break;
			
			case q4:
			if (existIn(alpha, c)) {
				state = q4;
				rname[rname_c] = c;
				rname_c++;
			}
			else if (existIn(digits, c)) {
				state = q4;
				rname[rname_c] = c;
				rname_c++;
			}
			else if (existIn(delim, c)) {
				state = q0;
				rname[rname_c] = '\0';
				// first check whether rname exist
				if (!checkExist(rname)) {
					//printf("<rname=%s don't exist.> ", rname);
					addToList(rname);
				}
				// carry out computation
				computeVV(lname, rname, op);
				
				// computation done, clear all
				lname[lname_c] = '\0';
				rname[rname_c] = '\0';
				value[value_c] = '\0';
				op[op_c] = '\0';
				lname_c = rname_c = value_c = op_c = 0;
			}
			break;
			
			case q5:
			if (existIn(digits, c)) {
				state = q5;
				value[value_c] = c;
				value_c++;
			}
			else if (existIn(delim, c)) {
				state = q0;
				value[value_c] = '\0';
				
				// carry out computation
				computeVI(lname, value, op);
				
				// computation done, clear all
				// computation done, clear all
				lname[lname_c] = '\0';
				rname[rname_c] = '\0';
				value[value_c] = '\0';
				op[op_c] = '\0';
				lname_c = rname_c = value_c = op_c = 0;
			}
			else if (existIn(alpha, c)) {
				printf("Explode!\n");
				exit(0);
			}
			break;
		}
		//print_state(state);
		//printf("\n");
	}
	printf("###################\n");
	printf("No. of variables = %d\n", noOfV);
	//print_state(state);
	int output=0;
	Variable out;
	for (output=0; output<noOfV; output++) {
		out = v_list[output];
		printf("Varible %s = %d\n", out.name, out.value);
	}
}