示例#1
0
void vrpn_SerialPort::open(const char * portname, long baud, int charsize, vrpn_SER_PARITY parity) {
	if (is_open()) {
		throw AlreadyOpen();
	}
	_comm = vrpn_open_commport(portname, baud, charsize, parity);
	if (!is_open()) {

		throw OpenFailure();
	}
}
示例#2
0
void    Include( char *inc_name ) {
//=================================

    file_handle fp;
    char        bld_name[MAX_FILE+1];
    char        err_msg[ERR_BUFF_SIZE+1];

    SDInitAttr();
    CopyMaxStr( inc_name, bld_name, MAX_FILE );
    MakeName( bld_name, SDSrcExtn( bld_name ), bld_name );
    if( AlreadyOpen( inc_name ) )
        return;
    if( AlreadyOpen( bld_name ) )
        return;
    // try file called <include_name>.FOR.
    fp = SDOpen( bld_name, READ_FILE );
    if( fp != NULL ) {
        SrcInclude( bld_name );
        CurrFile->fileptr = fp;
    } else {
        // get error message before next i/o
        SDError( NULL, err_msg );
        // try library
        fp = IncSearch( inc_name );
        if( fp != NULL ) {
            // SrcInclude( inc_name ) now done in LIBSUPP
            CurrFile->fileptr = fp;
            CurrFile->flags |= INC_LIB_MEMBER;
        } else {
            // could not open include file
            InfoError( SM_OPENING_FILE, bld_name, err_msg );
        }
    }
    // clear RetCode so that we don't get "file not found" returned
    // because we could not open include file
    RetCode = _SUCCESSFUL;
    AddDependencyInfo( CurrFile );
}
示例#3
0
void Database::init(const std::string &path, const std::string &conn_name, const std::string &create_script)
{
    if (db.get() != nullptr && db->isOpen()) throw AlreadyOpen(path);
    QString qconn_name = QString::fromStdString(conn_name);

    if (QSqlDatabase::contains(qconn_name))
    {
        db.reset(new QSqlDatabase(QSqlDatabase::database(qconn_name)));
    }
    else
    {
        db.reset(new QSqlDatabase(QSqlDatabase::addDatabase(cfg::db::driver, qconn_name)));
    }

    QFileInfo info(QString::fromStdString(path));
    if (!info.exists())
    {
        info.setFile(QString::fromStdString(create_script));
        if (!info.exists() || !info.isFile()) throw InvalidFile(create_script);

        db->setDatabaseName(QString::fromStdString(path));
        if (!db->open()) throw DatabaseError(db->lastError());

        QFile file(QString::fromStdString(create_script));
        if (!file.open(QFile::ReadOnly)) throw InvalidFile(create_script);

        QString query = file.readAll();
        auto query_list = query.split(';');

        for (auto curr_query: query_list)
        {
            curr_query = curr_query.trimmed();
            if (curr_query.isEmpty()) continue;
            execute(curr_query.toStdString());
        }
    }
    else
    {
        db->setDatabaseName(QString::fromStdString(path));
    }

    if (!db->open()) throw DatabaseError(db->lastError());
}
示例#4
0
文件: POWDDE.C 项目: Madzi/POW
HDDEDATA FAR PASCAL _export PowDdeServerProc (UINT type,UINT fmt,HCONV hconv,HSZ hsz1,HSZ hsz2,HDDEDATA hdata,DWORD dwData1,DWORD dwData2)
{                          
    LPSTR exec;
    HWND hWnd;                 
    DWORD size;
    HDDEDATA hDat;
    
    switch (type) {                  
    
        case XTYP_CONNECT:
            return (HDDEDATA)IsTopic(hsz1);
        
        case XTYP_EXECUTE:
        { 
            char buf[1000];
            
            if (IsTopic(hsz1)) {
                DdeGetData(hdata,buf,sizeof(buf),0);
                exec=GetExecData(buf);
                
                if (IsCommand(buf,"openfile")) {        
                    if (*exec && (hWnd=AlreadyOpen(exec)))
                        BringWindowToTop(hWnd);
                    else {
                        #ifndef _WIN32
                           DownStr(exec);
                        #endif
                        AddFile(exec);
                    }
                    return (HDDEDATA)DDE_FACK;    
                }

                else if (IsCommand(buf,"newfile")) {
                    hWnd=AddFile(0);
                    if (hWnd && *exec) {
                        HWND old;
                        if (old=AlreadyOpen(exec))
                            SendMessage (hwndMDIClient,WM_MDIDESTROY,(WPARAM)old,0L);
                        #ifndef _WIN32
                           DownStr(exec);
                        #endif
                        SetWindowText(hWnd,exec);
                        SetWindowWord(hWnd,GWW_UNTITLED,0);
                    }
                    return (HDDEDATA)DDE_FACK;    
                }

                else if (IsCommand(buf,"savefile")) {
                    if (GetActiveEditWindow(hwndMDIClient)) {
                        if (*exec) {
                            #ifndef _WIN32
                              AnsiLower(exec);
                            #endif
                            SetWindowText(GetActiveEditWindow(hwndMDIClient),exec);
                            SetWindowWord(GetActiveEditWindow(hwndMDIClient),GWW_UNTITLED,0);
                        }             
                        SendMessage(hwndFrame,WM_COMMAND,IDM_FILESAVE,0);
                    }    
                    return (HDDEDATA)DDE_FACK;    
                }

                else if (IsCommand(buf,"activate")) {
                    if (*exec && (hWnd=AlreadyOpen(exec)))
                        BringWindowToTop(hWnd);         
                    return (HDDEDATA)DDE_FACK;
                }

                else if (IsCommand(buf,"appendtext") || IsCommand(buf,"addtext")) {
                    if (*exec && GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient)))
                        EditAddText(GetActiveEditWindow(hwndMDIClient),exec);
                    return (HDDEDATA)DDE_FACK;
                }

                else if (IsCommand(buf,"inserttext")) {
                    if (*exec && GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient)))
                        EditInsertText(GetActiveEditWindow(hwndMDIClient),exec);
                    return (HDDEDATA)DDE_FACK;
                }

                else if (IsCommand(buf,"appendfile") || IsCommand(buf,"addtext")) {
                    if (*exec && GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient))) {
                        EditGotoPos(GetActiveEditWindow(hwndMDIClient),-1,-1);
                        InsertFile(exec);
                    }
                    return (HDDEDATA)DDE_FACK;
                }

                else if (IsCommand(buf,"insertfile")) {
                    if (*exec && GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient)))
                        InsertFile(exec);
                    return (HDDEDATA)DDE_FACK;
                }

                else if (IsCommand(buf,"showposition")) {
                    /* go to line/col of a given file (open if necessary) */
                    if (*exec) {
                        char *file,*sline,*scol;
                        int line=-1,col=-1;
                            
                        file=strtok(exec," ");
                        if (file) {
                            /* read position */
                            sline=strtok(NULL," ");
                            if (sline) {
                                line=atoi(sline);
                                scol=strtok(NULL," ");
                                if (scol)
                                    col=atoi(scol);
                            }
                                               
                            /* display the file */
                        if (hWnd=AlreadyOpen(file))
                            BringWindowToTop(hWnd);
                        else {
                            #ifndef _WIN32
                               DownStr(file);
                            #endif
                            AddFile(file);
                        }
                                              
                        /* set caret to given position */
                            EditGotoPos(GetActiveEditWindow(hwndMDIClient),line,col);
                        }
                    }
                    return (HDDEDATA)DDE_FACK;
                }

                else if (IsCommand(buf,"addtool")) {
                    /* create a new tool */
                    if (*exec) {
                        LPSTR lp;
                        char *name,*cmd,*dir,*options;
                        BOOL menu,askArg,toTop;
                        int buttonId;

                        name=cmd=dir=options=NULL;
                        menu=askArg=toTop=FALSE;
                        buttonId=0;

                        /* read tool name */
                        name=strtok(exec,",");
                        if (name) {
                            cmd=strtok(NULL,",");
                            if (cmd) {
                                dir=strtok(NULL,",");
                                if (dir) {
                                    options=strtok(NULL,",");
                                    if (options) {
                                       lp=strtok(NULL,",");
                                       if (lp) {
                                           menu=(BOOL)atoi(lp);
                                           lp=strtok(NULL,",");
                                           if (lp) {
                                               buttonId=atoi(lp);
                                               lp=strtok(NULL,",");
                                               if (lp) {
                                                   toTop=(BOOL)atoi(lp);
                                                   lp=strtok(NULL,",");
                                                   if (lp) {
                                                       askArg=(BOOL)atoi(lp);
                                                   }
                                               }
                                           }
                                       }
                                    }
                                }
                            }
                        }
                        if (strcmp(dir," ")==0) dir="";
                        if (strcmp(options," ")==0) options="";
                        if (name && cmd && *name && *cmd && (menu || buttonId))
                            ToolAdd(name,cmd,dir,options,menu,buttonId,toTop,askArg);
                    }
                    return (HDDEDATA)DDE_FACK;
                }

                else if (IsCommand(buf,"deletetool")) {
                    /* remove an external tool */
                    if (*exec)
                        ToolDelete(exec);
                    return (HDDEDATA)DDE_FACK;
                }
            }
            return (HDDEDATA)DDE_FNOTPROCESSED;
        }
    
        case XTYP_POKE:
        {
          if (IsTopic(hsz1)) 
          {
            if (IsEqualString(hsz2,"editbuffer")) 
            {        
              if (GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient)))  
              {
                LPSTR lBuf;                                              
                if (lBuf=DdeAccessData(hdata,(LPDWORD)&size)) 
                {
                  EditResetContent(GetActiveEditWindow(hwndMDIClient));
                  EditAddText(GetActiveEditWindow(hwndMDIClient),lBuf);
                  DdeUnaccessData(hdata);
                }    
              }
              return (HDDEDATA)DDE_FACK;
            }
          }    
          return (HDDEDATA)DDE_FNOTPROCESSED;
        }
     
        case XTYP_REQUEST:     
        {                      
          if (IsTopic(hsz1)) 
          {
            if (IsEqualString(hsz2,"activefile")) 
            {        
              if (GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient)))  
              {
                long len;
                char name[100];
                HSZ hitem;
                        
                hitem=DdeCreateStringHandle(ddeInstId,(LPSTR)"activefile",CP_WINANSI);
                len=GetWindowText(GetActiveEditWindow(hwndMDIClient),(LPSTR)name,sizeof(name));
                return DdeCreateDataHandle(ddeInstId,(LPSTR)name,len+1,0,hitem,CF_TEXT,0);
              }
            }
            else if (IsEqualString(hsz2,"editbuffer")) 
            {        
              if (GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient)))  
              {
                LPSTR lp;
                HGLOBAL h;
                if (h=EditGetText(GetActiveEditWindow(hwndMDIClient))) 
                {
                  HSZ hitem;
                          
                  hitem=DdeCreateStringHandle(ddeInstId,(LPSTR)"editbuffer",CP_WINANSI);
                  lp=GlobalLock(h);
                  hDat=DdeCreateDataHandle(ddeInstId,lp,GlobalSize(h),0,hitem,CF_TEXT,0);
                  GlobalUnlock(h);
                  GlobalFree(h);
                }
                else 
                  hDat=0;
                return hDat;
              }
            }
            else if (IsEqualString(hsz2,"compiler")) 
            {        
              /* return name of active compiler interface dll */
              char name[100];
              HSZ hitem;
                        
              hitem=DdeCreateStringHandle(ddeInstId,(LPSTR)"compiler",CP_WINANSI);
              strcpy(name,actConfig.compiler);
              return DdeCreateDataHandle(ddeInstId,(LPSTR)name,strlen(name)+1,0,hitem,CF_TEXT,0);
            }
            else if (IsEqualString(hsz2,"executable")) 
            {        
              /* return name of target executale */
              BOOL isExecutable;
              //FARPROC lpfn;                  
              char name[500];
              HSZ hitem;
                    
              if (IsCompilerInterfaceLoaded()) 
              {
                if (!*actPrj) 
                {
                  RemoveMessageWindow();
                  if (GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient)) && !GetWindowWord(GetActiveEditWindow(hwndMDIClient),GWW_UNTITLED)) 
                  {
                    SetDefaultProjectName();
                    isExecutable=(*compGetTarget)(hCompData,(LPSTR)name);
                    if (*name && *RunArgs) 
                    { 
                      /* append run arguments (as string included in "") */
                      strcat(name," \"");
                      strcat(name,RunArgs);
                      strcat(name,"\"");
                    }
                  }
                  else *name=0;
                }
                else 
                  isExecutable=(*compGetTarget)(hCompData,(LPSTR)name);
              }
              else *name=0;
                    
              hitem=DdeCreateStringHandle(ddeInstId,(LPSTR)"executable",CP_WINANSI);
              return DdeCreateDataHandle(ddeInstId,(LPSTR)name,strlen(name)+1,0,hitem,CF_TEXT,0);
            }
          }
          return (HDDEDATA) NULL;
        }    
    }                                        
    if (type&XCLASS_FLAGS)
        return (HDDEDATA)DDE_FNOTPROCESSED;
    else
        return (HDDEDATA)NULL;              
}
示例#5
0
文件: wtdinit.c 项目: mingpen/OpenNT
//---------------------------------------------------------------------------
// InitializeInstance
//
// Performs a per-instance initialization of WTD.  The WTD Command Line
// parser is first called - if a valid command line was given, it does NOT
// RETURN from that call, since the WTD BASIC engine is invoked straight
// from there, and then the program exits.
//
// However, if an invalid command line (or none at all) is given, we come
// back here and create the frame window, and an MDI child.
//
// RETURNS:     TRUE if successful, or FALSE if not
//---------------------------------------------------------------------------
BOOL  APIENTRY InitializeInstance(LPSTR lpCmdLine, INT nCmdShow)
{
    extern HWND  hwndMDIClient;
    CHAR         sz[320];
    CHAR         *def = "",
                 *szCreate = "-2147450880"; /* this is really 0x80008000 */
    INT          i, j, FrameState, VPstate, flags, len;
    INT          actions[3] = {IDD_NEVER, IDD_ALWAYS, IDD_QUERY};
    HANDLE       *hScr;

#ifdef DEBUG
    auxport = 0;
#endif

    // Set up the helpfile name and the INI file name
    //-----------------------------------------------------------------------
    SetHelpFileName ();
    len = GetModuleFileName (GetModuleHandle (szModName), szIni,
                             sizeof(szIni));
    while (szIni[len] != '\\')
        len--;
    szIni[len+1] = 0;
    strcat (szIni, szIniName);
    UseIniInclude ("INCLUDE", szDrvr, szIni);

    // Initialize the pre-defined symbol space.
    //-----------------------------------------------------------------------
    for (i=0; i<16; i++)
        DefPtrs[i] = DefSym[i];

    // Get Window state information (max'd, hidden, etc)
    //-----------------------------------------------------------------------
    FrameState = GetPrivateProfileInt (szDrvr, "FrameState", 0, szIni);
    VPstate = GetPrivateProfileInt (szDrvr, "VPState", 0, szIni);
    ChildState = GetPrivateProfileInt (szDrvr, "MDIState", 0, szIni);

    GetPrivateProfileString (szDrvr, "FramePos", szCreate, sz, 80, szIni);
    Frx = LOWORD(atol (sz));
    Fry = HIWORD(atol (sz));

    GetPrivateProfileString (szDrvr, "FrameSize", szCreate, sz, 80, szIni);
    Frh = LOWORD(atol (sz));
    Frw = HIWORD(atol (sz));

    GetPrivateProfileString (szDrvr, "VPPos", szCreate, sz, 80, szIni);
    VPx = LOWORD(atol (sz));
    VPy = HIWORD(atol (sz));

    GetPrivateProfileString (szDrvr, "VPSize", szCreate, sz, 80, szIni);
    VPh = LOWORD(atol (sz));
    VPw = HIWORD(atol (sz));

    // Read the "Get XY-Coords" dialog settings
    //-----------------------------------------------------------------------
    flags = GetPrivateProfileInt (szXY, "Opts", XY_VIEWPORT |
                                                XY_STATBAR,
                                                szIni);
    fInsEdit = flags & XY_INSEDIT;
    fInsClip = flags & XY_INSCLIP;
    fVP      = flags & XY_VIEWPORT;
    fStatbar = flags & XY_STATBAR;
    iFmtIndex = GetPrivateProfileInt (szXY, "Format", 0, szIni);

    // Read the search/replace vars
    //-----------------------------------------------------------------------
    GetPrivateProfileString (szDrvr, "SR", def, sz, 80, szIni);
    SRx = LOWORD(atol (sz));
    SRy = HIWORD(atol (sz));

    GetPrivateProfileString (szDrvr, "Srch", def, szSrchbuf,
                             sizeof(szSrchbuf), szIni);
    GetPrivateProfileString (szDrvr, "Repl", def, szReplbuf,
                             sizeof(szSrchbuf), szIni);

    // Get the environment dialog options
    //-----------------------------------------------------------------------
    flags = GetPrivateProfileInt (szDrvr, "EnvFlags", ENV_SAVEASK |
                                                   ENV_CMPDLG |
                                                   ENV_BACKUP,
                                                   szIni);
    SaveAction  = actions[flags & ENV_SAVEACTION];
    AutoMini    = flags & ENV_AUTOMINI;
    AutoRest    = flags & ENV_AUTOREST;
    qsave       = flags & ENV_QUERYSAVE;
    ChgArgs     = flags & ENV_RTARGS;
    fBackup     = flags & ENV_BACKUP;
    fDoCmpDlg   = flags & ENV_CMPDLG;
    TabStops = GetPrivateProfileInt (szDrvr, "TabStops", 4, szIni);

    // Find and Search/Replace options
    //-----------------------------------------------------------------------
    flags = GetPrivateProfileInt (szDrvr, "SearchFlags", 0, szIni);
    fSrchCase   = flags & SRCH_SRCHCASE;
    WholeWord   = flags & SRCH_WHOLEWORD;

    // Recorder options -- the 0x3C is 60 decimal, which is the default
    // string length
    //-----------------------------------------------------------------------
    iRecPause = GetPrivateProfileInt (szRecorder, "Pause", 2000, szIni);
    flags = GetPrivateProfileInt (szRecorder, "Flags", 0x3C00 |
                                                       REC_KEYS |
                                                       REC_CLICKS |
                                                       REC_INCDECL |
                                                       REC_BALANCE,
                                                       szIni);
    iRecInsert  = flags & REC_INSERT;
    fRecKeys    = flags & REC_KEYS;
    fRecClicks  = flags & REC_CLICKS;
    fRecMoves   = flags & REC_MOVES;
    fRecRelWnd  = flags & REC_RELWND;
    fRecIncDecl = flags & REC_INCDECL;
    fRecBalance = flags & REC_BALANCE;
    iRecLen     = HIBYTE (flags);

    // Runtime options
    //-----------------------------------------------------------------------
    flags = GetPrivateProfileInt (szDrvr, "RTFlags", RF_SAVERTA |
#ifdef WIN32
                                                  RF_CDECL |
#endif
                                                  RF_ARRAYCHECK,
                                                  szIni);
    SaveRTA      = flags & RF_SAVERTA;
    ArrayCheck   = flags & RF_ARRAYCHECK;
    PointerCheck = flags & RF_PTRCHECK;
    CdeclCalls   = flags & RF_CDECL;
    ExpDeclare   = flags & RF_EXPDECL;

    GetPrivateProfileString (szDrvr, "Cmd", def, cmdbuf, sizeof (cmdbuf), szIni);
    GetPrivateProfileString (szDrvr, "Tm", def, tmbuf, sizeof (tmbuf), szIni);

    GetPrivateProfileString (szDrvr, "Defc", def, sz, 80, szIni);
    SymCount = min (atoi (sz), 16);
    GetPrivateProfileString (szDrvr, "Defs", def, sz, 320, szIni);
    def = sz;
    while (*def == ' ')
        def++;
    j = 0;
    for (i=0; i<SymCount; i++)
        {
        while ((*def) && (*def != ' '))
            DefSym[i][j++] = *def++;
        DefSym[i][j] = 0;
        def++;
        j = 0;
        }

    // Create the ViewPort window first
    //-----------------------------------------------------------------------
    hwndViewPort = SetupViewport ();

    if (!hwndViewPort)
        return (FALSE);

    if ((VPstate & 3) == 1)
        ShowWindow (hwndViewPort, SW_SHOWMAXIMIZED);
    else if ((VPstate & 3) == 2)
        ShowWindow (hwndViewPort, SW_SHOWMINIMIZED);

    // Parse the command line - if this function returns NULL, then we're
    // done -- no need to continue
    //-----------------------------------------------------------------------
    if (!(hScr = ParseCommandLine (lpCmdLine)))
        {
        DestroyWindow (hwndViewPort);
        return (FALSE);
        }

    // Get the names of the last four files opened and store them in the
    // list
    //-----------------------------------------------------------------------
    iFileCount = GetPrivateProfileInt (szDrvr, "fCount", 0, szIni);
    for (i=0; i<iFileCount; i++)
        {
        CHAR    buf[10];

        wsprintf (buf, "File%d", i+1);
        GetPrivateProfileString (szDrvr, buf, def, sz, 128, szIni);
        pFileOpened[i] = (PSTR)LptrAlloc (lstrlen(sz)+1);
        if (!pFileOpened[i])
            {
            MPError (NULL, MB_OK | MB_ICONSTOP, IDS_OUTOFMEM);
            DestroyWindow (hwndViewPort);
            return (FALSE);
            }
        lstrcpy (pFileOpened[i], sz);
        }

    // Get the base window title
    //-----------------------------------------------------------------------
    LoadString (hInst, IDS_APPNAME, sz, sizeof(sz));

    // Create the frame
    //-----------------------------------------------------------------------
    hwndFrame = CreateWindow (szFrame,
			      sz,
			      WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
                              Frx,
                              Fry,
                              Frw,
                              Frh,
			      NULL,
			      NULL,
			      hInst,
			      NULL);

    if ((!hwndFrame) || (!hwndMDIClient) || (!hwndViewPort))
        return (FALSE);

    // Display the frame window
    //-----------------------------------------------------------------------
    if (nCmdShow != SW_SHOWNORMAL)
        ShowWindow (hwndFrame, nCmdShow);
    else if (FrameState == 1)
        ShowWindow (hwndFrame, SW_SHOWMAXIMIZED);
    else if (FrameState == 2)
        ShowWindow (hwndFrame, SW_SHOWMINIMIZED);
    else
        ShowWindow (hwndFrame, SW_SHOWNORMAL);

    // Show the viewport if we're supposed to (sending it a WM_COMMAND msg
    // with the IDM_WINDOWSHOW parm...
    //-----------------------------------------------------------------------
    if (!(VPstate & 4))
        SendMessage (hwndFrame, WM_COMMAND, IDM_WINDOWSHOW, 0L);

    // Load main menu accelerators
    //-----------------------------------------------------------------------
    if (!(hAccel = LoadAccelerators (hInst, IDMULTIPAD)))
        return (FALSE);

    UpdateWindow (hwndFrame);

    // Load the scripts given on the command line.
    //-----------------------------------------------------------------------
    NextFile = 0;

    for (i=0; hScr[i]; i++)
        {
        CHAR    *scr;

        // If this is the first file and it has nothing in it, we add an
        // untitled script and we're done.
        //-------------------------------------------------------------------
        scr = LocalLock (hScr[i]);
        if ((!i) && (!*scr))
            {
            AddFile (NULL);
            break;
            }

        // Check for an extension -- if not there, append default.  Then,
        // load the file if it isn't already loaded.
        //---------------------------------------------------------------
        EnsureExt (scr, 80);
        if (!AlreadyOpen (scr))
            AddFile (scr);
        LocalUnlock (hScr[i]);
        LocalFree (hScr[i]);
        }

    for (i = 0 ; i < 4 ; i++)
    {
        wsprintf (sz, "wattrec%d", i + 1);
        hBitmap [i] = LoadBitmap (hInst, (LPSTR) sz);
        if (!hBitmap [i])
            return FALSE;
    }


    // We're done.
    //-----------------------------------------------------------------------
    return (TRUE);
}