Clarion и SSL
Добавлено: 25 Октябрь 2015, 6:19
Туда же. Функция получения IP по имени домена:
Исправленная функция из QuickSock.CLW, забыли в LStrCpy функцию ADDRESS использовать.
Исправленная функция из QuickSock.CLW, забыли в LStrCpy функцию ADDRESS использовать.
Код: Выделить всё
SSLClass.GetMachineIpAddress PROCEDURE(STRING host)!,STRING
lMachineName CSTRING(101)
lIPAddress CSTRING(101)
llpHostBuf LONG
lPtr5 LONG
lStrPtr LONG
lIPAddr LONG
CODE
lMachineName = host
IF LEN(CLIP(lMachineName)) > 0
llpHostBuf = GetHostByName(ADDRESS(lMachineName))
IF llpHostBuf <> 0
Memcpy(ADDRESS(lPtr5),llpHostBuf+12,4)
IF lPtr5 <> 0
Memcpy(ADDRESS(lStrPtr),lPtr5,4)
IF lStrPtr <> 0
Memcpy(ADDRESS(lIPAddr),lStrPtr,4)
lStrPtr = WS_INet_NToA(lIPAddr)
MESSAGE(lIPAddr,1)
IF lStrPtr <> 0
Err# = LStrCpy(ADDRESS(lIPAddress),lStrPtr)
END
END
END
END
END
RETURN CLIP(lIPAddress)
Код: Выделить всё
MODULE('')
memcpy(long lpDest, long lpSource, long nCount),long,proc,name('_memcpy')
END
Код: Выделить всё
SSLClass CLASS,TYPE
...
GetMachineIpAddress PROCEDURE(STRING host),STRING
END