static int _MsApi_BrickTerminator_Add2BootArgs (void) { const char *BRICK_TERMINATOR_SPI_STATUS_OFFSET = BRICK_TERMINATOR_SPI_STATUS_OFFSET_STRING; unsigned int u32RescueStatusOffset =0; char buf[CMD_BUF] = "\0"; int ret=0; // set BRICK_TERMINATOR_SPI_STATUS_OFFSET to bootargs MsApiChunkHeader_GetValue(CH_RESCURE_STATUS_ROM_OFFSET,&u32RescueStatusOffset); u32RescueStatusOffset = GetRealOffset(u32RescueStatusOffset); sprintf(buf, "%s=%08X", BRICK_TERMINATOR_SPI_STATUS_OFFSET, u32RescueStatusOffset); if(0 != set_bootargs_cfg((char*)BRICK_TERMINATOR_SPI_STATUS_OFFSET, buf, 0)) { UBOOT_ERROR("Error! set_bootargs_cfg failed\n"); ret = -1; } #if (PIN_FLASH_WP0&&ENABLE_MODULE_ENV_IN_SERIAL) { // set Write Protect GPIO to bootargs const char *BRICK_TERMINATOR_SPI_WP = BRICK_TERMINATOR_SPI_WP_GPIO_NUM_STRING; memset(buf,0,sizeof(buf)); sprintf(buf, "%s=%X", BRICK_TERMINATOR_SPI_WP, PIN_FLASH_WP0); if(0 != set_bootargs_cfg((char*)BRICK_TERMINATOR_SPI_WP, buf, 0)) { UBOOT_ERROR("%s: Error! set_bootargs_cfg failed, at %d\n", __func__, __LINE__); ret = -1; } } #endif return ret; }
//@doc SECEdit //@mfunc Internal function. Cuts the column of text from pStartPos to pEndPos, // from column pStartPos->iOffset to pEndPos->iOffset. //@rdesc int //@parm PTEXTPOS pStartPos //@parm PTEXTPOS pEndPos //@parm BOOL bSaveUndoRecord int SECEdit::ColumnCut(PTEXTPOS pStartPos, PTEXTPOS pEndPos, BOOL bSaveUndoRecord) { int iRval; UNDORECORD UndoRecord; LPSTR lpText; PLINEDESC pLine; TEXTPOS TextPos; TEXTPOS StartPos,EndPos; if (m_bReadOnly) return IDS_OE_READONLY; // column blocks may not be in order... if (!InOrder(pStartPos,pEndPos)) { StartPos = *pEndPos; EndPos = *pStartPos; } else { StartPos = *pStartPos; EndPos = *pEndPos; } iRval = 0; UndoRecord.iCol = StartPos.iOffset; UndoRecord.iEndCol = EndPos.iOffset; if (bSaveUndoRecord) { UndoRecord.iRow = GetLineNo(StartPos.pLine); UndoRecord.iEndRow = GetLineNo(EndPos.pLine); UndoRecord.iUndoType = OE_UNDO_COLUMNCUT; lpText = ColumnCopy(&StartPos, &EndPos, FALSE); } int iTabbedOffset = GetTabbedOffset(StartPos.pLine,StartPos.iOffset); int iCount = UndoRecord.iEndCol - UndoRecord.iCol; pLine = StartPos.pLine; while (pLine) { TextPos.pLine = pLine; TextPos.iOffset = GetRealOffset(TextPos.pLine,iTabbedOffset); iRval = DeleteString(&TextPos, iCount, FALSE); if (pLine == EndPos.pLine) break; pLine = pLine->pNext; } if (!iRval && bSaveUndoRecord) { SaveUndoRecord(&UndoRecord, lpText); free(lpText); } return iRval; }
CStdEditorPosition CSECEditor::ToOffsetPosition (const CStdEditorPosition &position) { int iLine; int iColumn; position.GetXYPosition (iColumn, iLine); if (iColumn > 0 && IsValidLine(iLine)) { PLINEDESC pLineDesc; pLineDesc = GoToLineNo (iLine); iColumn = -(GetRealOffset (pLineDesc, iColumn - 1)); }; return (CStdEditorPosition (EDP_STLINE, iColumn, iLine, position.GetCX(), position.GetCY())); // s-2155 22.03.05 SIS }