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; }
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; }
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(); }
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; }
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); } }