Changeset d72f0e5 in tol


Ignore:
Timestamp:
Nov 29, 2010, 8:56:46 AM (16 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
1121f7d
Parents:
4969b6e
Message:

Fixes #956

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@2705 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol/LoadDynLib/LoadDynLib.cpp

    r4969b6e rd72f0e5  
    3333#include <tol/tol_blanguag.h>
    3434#include <tol/tol_btxtgra.h>
     35#include <tol/tol_bdatgra.h>
    3536#include <tol/tol_bdir.h>
    3637
    … …  
    7475{
    7576  return(new BGraContensP<BNameBlock>("", new BNameBlock));
     77}
     78
     79  //--------------------------------------------------------------------
     80  DeclareContensClass(BDat, BDatTemporary, BDatLoadDynLib);
     81  DefExtOpr(1, BDatLoadDynLib, "LoadDynLib", 1, 2, "Text Text",
     82  "(Text libraryPath [, Text libraryName])",
     83  I2("Link a dynamic library without TOL built-in functios.",
     84     "Enlaca una librería dinámica sin funciones TOL nativas."),
     85     BOperClassify::Statistic_);
     86  void BDatLoadDynLib::CalcContens()
     87//--------------------------------------------------------------------
     88{
     89  if(CheckNonDeclarativeAction("LoadDynLib")) { return; }
     90  BText& libraryPath = Text(Arg(1));
     91  BText libraryName = GetFilePrefix(libraryPath); 
     92  if(Arg(2))
     93  {
     94    libraryName = Text(Arg(2));
     95  }
     96//Std(BText("\nTRACE BLoadDynLib::Evaluator 1 libraryPath=")+libraryPath);
     97//Std(BText("\nTRACE BLoadDynLib::Evaluator 2 libraryName=")+libraryName);
     98  BUserNameBlock* unb = NULL;
     99
     100  lt_dlhandle handleLib;
     101
     102  // abro la DynLib
     103  handleLib = lt_dlopen( libraryPath );
     104  if ( !handleLib )
     105  {
     106  //Std(BText("\nTRACE BLoadDynLib::Evaluator 3 lt_dlerror='")+lt_dlerror()+"'");
     107    BText reason( lt_dlerror( ) );
     108    Error(BText("[LoadDynLib(\"")+libraryPath+"\")]"+" \n"
     109    "  lt_dlopen error:'"+reason+"'");
     110    contens_ = false;
     111  }
     112  else
     113  {
     114    contens_ = true;
     115  }
    76116}
    77117
Note: See TracChangeset for help on using the changeset viewer.