From ce52ac88bc9e689db478bbe86c3559ad1edc5959 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 15 Nov 1999 17:33:51 +0000 Subject: [PATCH] more IRIX support git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/unix/dialup.cpp | 50 ++++++++++++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 14 deletions(-) diff --git a/src/unix/dialup.cpp b/src/unix/dialup.cpp index 755919befa..7b4387defb 100644 --- a/src/unix/dialup.cpp +++ b/src/unix/dialup.cpp @@ -265,12 +265,19 @@ wxDialUpManagerImpl::wxDialUpManagerImpl() m_CanUsePing = -1; // unknown m_BeaconHost = WXDIALUP_MANAGER_DEFAULT_BEACONHOST; m_BeaconPort = 80; - SetConnectCommand("pon", "poff"); // default values for Debian/GNU linux + +#ifdef __SGI__ + m_ConnectCommand = _T("/usr/etc/ppp"); +#elif defined(__LINUX__) + // default values for Debian/GNU linux + m_ConnectCommand = _T("pon"); + m_HangUpCommand = _T("poff"); +#endif + wxChar * dial = wxGetenv(_T("WXDIALUP_DIALCMD")); wxChar * hup = wxGetenv(_T("WXDIALUP_HUPCMD")); - if(dial || hup) - SetConnectCommand(dial ? wxString(dial) : m_ConnectCommand, - hup ? wxString(hup) : m_HangUpCommand); + SetConnectCommand(dial ? wxString(dial) : m_ConnectCommand, + hup ? wxString(hup) : m_HangUpCommand); } wxDialUpManagerImpl::~wxDialUpManagerImpl() @@ -444,11 +451,11 @@ wxDialUpManagerImpl::CheckConnect(void) if((hp = gethostbyname(m_BeaconHost.mb_str())) == NULL) return 0; // no DNS no net - serv_addr.sin_family = hp->h_addrtype; + serv_addr.sin_family = hp->h_addrtype; memcpy(&serv_addr.sin_addr,hp->h_addr, hp->h_length); - serv_addr.sin_port = htons(m_BeaconPort); + serv_addr.sin_port = htons(m_BeaconPort); - int sockfd; + int sockfd; if( ( sockfd = socket(hp->h_addrtype, SOCK_STREAM, 0)) < 0) { return -1; // no info @@ -472,14 +479,29 @@ int wxDialUpManagerImpl::CheckIfconfig(void) { int rc = -1; - // First time check for ifconfig location. We only use the variant - // which does not take arguments, a la GNU. - if(m_CanUseIfconfig == -1) // unknown + + // First time check for ifconfig location. We only use the variant which + // does not take arguments, a la GNU. + if ( m_CanUseIfconfig == -1 ) // unknown { - if(wxFileExists("/sbin/ifconfig")) - m_IfconfigPath = "/sbin/ifconfig"; - else if(wxFileExists("/usr/sbin/ifconfig")) - m_IfconfigPath = "/usr/sbin/ifconfig"; + static const wxChar *ifconfigLocations[] = + { + _T("/sbin"), // Linux, FreeBSD + _T("/usr/sbin"), // SunOS, Solaris, AIX, HP-UX + _T("/usr/etc"), // IRIX + }; + + for ( size_t n = 0; n < WXSIZEOF(ifconfigLocations); n++ ) + { + wxString path(ifconfigLocations[n]); + path << _T("/ifconfig"); + + if ( wxFileExists(path) ) + { + m_IfconfigPath = path; + break; + } + } } wxLogNull ln; // suppress all error messages -- 2.45.2