# HG changeset patch # User JaFojtik # Date 1328303605 -3600 # Node ID 381af6bb6155aa42c534e043bd8ce73900bdc1fa # Parent 0271f08ba81901919277ac8a5d37a483817b550f Windows CAN DLL driver sanity check. diff -r 0271f08ba819 -r 381af6bb6155 drivers/can_peak_win32/can_peak_win32.c --- a/drivers/can_peak_win32/can_peak_win32.c Fri Feb 03 21:42:48 2012 +0100 +++ b/drivers/can_peak_win32/can_peak_win32.c Fri Feb 03 22:13:25 2012 +0100 @@ -2,6 +2,7 @@ This file is part of CanFestival, a library implementing CanOpen Stack. Copyright (C): Edouard TISSERANT and Francis DUPIN +Modified by: Jaroslav Fojtik See COPYING file for copyrights details. diff -r 0271f08ba819 -r 381af6bb6155 drivers/win32/win32.c --- a/drivers/win32/win32.c Fri Feb 03 21:42:48 2012 +0100 +++ b/drivers/win32/win32.c Fri Feb 03 22:13:25 2012 +0100 @@ -118,6 +118,17 @@ m_canOpen = (CANOPEN_DRIVER_PROC)GetProcAddress(handle, myTEXT("canOpen_driver")); m_canClose = (CANCLOSE_DRIVER_PROC)GetProcAddress(handle, myTEXT("canClose_driver")); m_canChangeBaudRate = (CANCHANGEBAUDRATE_DRIVER_PROC)GetProcAddress(handle, myTEXT("canChangeBaudRate_driver")); + + if(m_canReceive==NULL || m_canSend==NULL || m_canOpen==NULL || m_canClose==NULL || m_canChangeBaudRate==NULL) + { + m_canReceive = NULL; + m_canSend = NULL; + m_canOpen = NULL; + m_canClose = NULL; + m_canChangeBaudRate = NULL; + FreeLibrary(handle); + handle = NULL; + } #else //compiled in... handle = 1; //TODO: remove this hack @@ -140,7 +151,7 @@ { return m_canSend(((CANPort*)port)->fd, m); } - return 1; + return 1; /* NOT OK */ } /***************************************************************************/