version 4.5.0
PIThread::stopAndWait now returns bool PIKbdListener on Linux now use piwaitevent_p and can immediately stop new base method piZeroMemory, also migrate all "memset 0" to piZeroMemory
This commit is contained in:
@@ -326,7 +326,7 @@ PIVector<PIFile::FileInfo> PIDir::entries() {
|
||||
}
|
||||
} else {
|
||||
WIN32_FIND_DATAA fd;
|
||||
memset(&fd, 0, sizeof(fd));
|
||||
piZeroMemory(fd);
|
||||
p += "\\*";
|
||||
void * hf = FindFirstFileA((LPCSTR)(p.data()), &fd);
|
||||
if (!hf) return l;
|
||||
@@ -335,7 +335,7 @@ PIVector<PIFile::FileInfo> PIDir::entries() {
|
||||
PIString fn(fd.cFileName);
|
||||
if (fn == "..") hdd = true;
|
||||
l << PIFile::fileInfo(dp + fn);
|
||||
memset(&fd, 0, sizeof(fd));
|
||||
piZeroMemory(fd);
|
||||
} while (FindNextFileA(hf, &fd) != 0);
|
||||
FindClose(hf);
|
||||
l.sort(sort_compare);
|
||||
@@ -440,7 +440,7 @@ PIDir PIDir::current() {
|
||||
char rc[1024];
|
||||
#endif
|
||||
#ifdef WINDOWS
|
||||
memset(rc, 0, 1024);
|
||||
piZeroMemory(rc, 1024);
|
||||
if (GetCurrentDirectory(1024, (LPTSTR)rc) == 0) return PIString();
|
||||
PIString ret(rc);
|
||||
ret.replaceAll("\\", PIDir::separator);
|
||||
@@ -463,13 +463,13 @@ PIDir PIDir::home() {
|
||||
#endif
|
||||
#ifdef WINDOWS
|
||||
rc = new char[1024];
|
||||
memset(rc, 0, 1024);
|
||||
piZeroMemory(rc, 1024);
|
||||
if (ExpandEnvironmentStrings((LPCTSTR) "%HOMEPATH%", (LPTSTR)rc, 1024) == 0) {
|
||||
delete[] rc;
|
||||
return PIDir();
|
||||
}
|
||||
PIString hp(rc);
|
||||
memset(rc, 0, 1024);
|
||||
piZeroMemory(rc, 1024);
|
||||
if (ExpandEnvironmentStrings((LPCTSTR) "%HOMEDRIVE%", (LPTSTR)rc, 1024) == 0) {
|
||||
delete[] rc;
|
||||
return PIDir();
|
||||
@@ -495,7 +495,7 @@ PIDir PIDir::temporary() {
|
||||
char * rc = nullptr;
|
||||
#ifdef WINDOWS
|
||||
rc = new char[1024];
|
||||
memset(rc, 0, 1024);
|
||||
piZeroMemory(rc, 1024);
|
||||
int ret = GetTempPath(1024, (LPTSTR)rc);
|
||||
if (ret == 0) {
|
||||
delete[] rc;
|
||||
|
||||
@@ -272,7 +272,7 @@ bool PIEthernet::openDevice() {
|
||||
// if (type() == TCP_Client)
|
||||
// connecting_ = true;
|
||||
if (type() != UDP || mode() == PIIODevice::WriteOnly) return true;
|
||||
memset(&PRIVATE->addr_, 0, sizeof(PRIVATE->addr_));
|
||||
piZeroMemory(PRIVATE->addr_);
|
||||
PRIVATE->addr_.sin_family = AF_INET;
|
||||
PRIVATE->addr_.sin_port = htons(addr_r.port());
|
||||
if (params[PIEthernet::Broadcast])
|
||||
@@ -377,7 +377,7 @@ bool PIEthernet::joinMulticastGroup(const PIString & group) {
|
||||
#else
|
||||
struct ip_mreq mreq;
|
||||
#endif
|
||||
memset(&mreq, 0, sizeof(mreq));
|
||||
piZeroMemory(mreq);
|
||||
#ifdef LINUX
|
||||
// mreq.imr_address.s_addr = INADDR_ANY;
|
||||
/*PIEthernet::InterfaceList il = interfaces();
|
||||
@@ -423,7 +423,7 @@ bool PIEthernet::leaveMulticastGroup(const PIString & group) {
|
||||
#else
|
||||
struct ip_mreq mreq;
|
||||
#endif
|
||||
memset(&mreq, 0, sizeof(mreq));
|
||||
piZeroMemory(mreq);
|
||||
if (params[PIEthernet::Broadcast])
|
||||
#ifndef LWIP
|
||||
mreq.imr_address.s_addr = INADDR_ANY;
|
||||
@@ -454,7 +454,7 @@ bool PIEthernet::connect(bool threaded) {
|
||||
if (connected_) return false;
|
||||
if (sock == -1) init();
|
||||
if (sock == -1) return false;
|
||||
memset(&PRIVATE->addr_, 0, sizeof(PRIVATE->addr_));
|
||||
piZeroMemory(PRIVATE->addr_);
|
||||
addr_r.set(path());
|
||||
PRIVATE->addr_.sin_port = htons(addr_r.port());
|
||||
PRIVATE->addr_.sin_addr.s_addr = addr_r.ip();
|
||||
@@ -492,7 +492,7 @@ bool PIEthernet::listen(bool threaded) {
|
||||
}
|
||||
listen_threaded = server_bounded = false;
|
||||
addr_r.set(path());
|
||||
memset(&PRIVATE->addr_, 0, sizeof(PRIVATE->addr_));
|
||||
piZeroMemory(PRIVATE->addr_);
|
||||
PRIVATE->addr_.sin_port = htons(addr_r.port());
|
||||
PRIVATE->addr_.sin_addr.s_addr = addr_r.ip();
|
||||
PRIVATE->addr_.sin_family = AF_INET;
|
||||
@@ -618,7 +618,7 @@ ssize_t PIEthernet::readDevice(void * read_to, ssize_t max_size) {
|
||||
case TCP_Client:
|
||||
if (connecting_) {
|
||||
addr_r.set(path());
|
||||
memset(&PRIVATE->addr_, 0, sizeof(PRIVATE->addr_));
|
||||
piZeroMemory(PRIVATE->addr_);
|
||||
PRIVATE->addr_.sin_port = htons(addr_r.port());
|
||||
PRIVATE->addr_.sin_addr.s_addr = addr_r.ip();
|
||||
PRIVATE->addr_.sin_family = AF_INET;
|
||||
@@ -704,7 +704,7 @@ ssize_t PIEthernet::readDevice(void * read_to, ssize_t max_size) {
|
||||
if (rs > 0) received(read_to, rs);
|
||||
return rs;
|
||||
case UDP: {
|
||||
memset(&PRIVATE->raddr_, 0, sizeof(PRIVATE->raddr_));
|
||||
piZeroMemory(PRIVATE->raddr_);
|
||||
// piCoutObj << "read from" << path() << "...";
|
||||
#ifdef WINDOWS
|
||||
long wr = waitForEvent(PRIVATE->event, FD_READ | FD_CLOSE);
|
||||
@@ -765,7 +765,7 @@ ssize_t PIEthernet::writeDevice(const void * data, ssize_t max_size) {
|
||||
// piCout << "[PIEth] write to" << ip_s << ":" << port_s << "ok";
|
||||
case TCP_Client: {
|
||||
if (connecting_) {
|
||||
memset(&PRIVATE->addr_, 0, sizeof(PRIVATE->addr_));
|
||||
piZeroMemory(PRIVATE->addr_);
|
||||
addr_r.set(path());
|
||||
PRIVATE->addr_.sin_port = htons(addr_r.port());
|
||||
PRIVATE->addr_.sin_addr.s_addr = addr_r.ip();
|
||||
@@ -962,7 +962,7 @@ long PIEthernet::waitForEvent(PIWaitEvent & event, long mask) {
|
||||
// DWORD wr = WSAWaitForMultipleEvents(1, &(PRIVATE->read_event), FALSE, WSA_INFINITE, TRUE);
|
||||
// if (wr == WSA_WAIT_EVENT_0) {
|
||||
WSANETWORKEVENTS events;
|
||||
memset(&events, 0, sizeof(events));
|
||||
piZeroMemory(events);
|
||||
WSAEnumNetworkEvents(sock, event.getEvent(), &events);
|
||||
// piCoutObj << "wait result" << events.lNetworkEvents;
|
||||
return events.lNetworkEvents;
|
||||
@@ -1245,7 +1245,7 @@ PINetworkAddress PIEthernet::interfaceAddress(const PIString & interface_) {
|
||||
return PINetworkAddress();
|
||||
#else
|
||||
struct ifreq ifr;
|
||||
memset(&ifr, 0, sizeof(ifr));
|
||||
piZeroMemory(ifr);
|
||||
strcpy(ifr.ifr_name, interface_.dataAscii());
|
||||
int s = ::socket(AF_INET, SOCK_DGRAM, 0);
|
||||
ioctl(s, SIOCGIFADDR, &ifr);
|
||||
|
||||
@@ -492,7 +492,7 @@ PIFile::FileInfo PIFile::fileInfo(const PIString & path) {
|
||||
}
|
||||
if (!hFile) return ret;
|
||||
BY_HANDLE_FILE_INFORMATION fi;
|
||||
memset(&fi, 0, sizeof(fi));
|
||||
piZeroMemory(fi);
|
||||
if (GetFileInformationByHandle(hFile, &fi) != 0) {
|
||||
LARGE_INTEGER filesize;
|
||||
filesize.LowPart = filesize.HighPart = 0;
|
||||
@@ -515,7 +515,7 @@ PIFile::FileInfo PIFile::fileInfo(const PIString & path) {
|
||||
CloseHandle(hFile);
|
||||
#else
|
||||
_stat_struct_ fs;
|
||||
memset(&fs, 0, sizeof(fs));
|
||||
piZeroMemory(fs);
|
||||
_stat_call_(path.data(), &fs);
|
||||
int mode = fs.st_mode;
|
||||
ret.size = fs.st_size;
|
||||
@@ -544,7 +544,7 @@ PIFile::FileInfo PIFile::fileInfo(const PIString & path) {
|
||||
ret.perm_user = FileInfo::Permissions((mode & S_IRUSR) == S_IRUSR, (mode & S_IWUSR) == S_IWUSR, (mode & S_IXUSR) == S_IXUSR);
|
||||
ret.perm_group = FileInfo::Permissions((mode & S_IRGRP) == S_IRGRP, (mode & S_IWGRP) == S_IWGRP, (mode & S_IXGRP) == S_IXGRP);
|
||||
ret.perm_other = FileInfo::Permissions((mode & S_IROTH) == S_IROTH, (mode & S_IWOTH) == S_IWOTH, (mode & S_IXOTH) == S_IXOTH);
|
||||
memset(&fs, 0, sizeof(fs));
|
||||
piZeroMemory(fs);
|
||||
_stat_link_(path.data(), &fs);
|
||||
mode &= ~S_IFLNK;
|
||||
mode |= S_IFLNK & fs.st_mode;
|
||||
|
||||
@@ -877,7 +877,7 @@ ssize_t PISerial::readDevice(void * read_to, ssize_t max_size) {
|
||||
close();
|
||||
return 0;
|
||||
}
|
||||
memset(&(PRIVATE->overlap), 0, sizeof(PRIVATE->overlap));
|
||||
piZeroMemory(PRIVATE->overlap);
|
||||
PRIVATE->overlap.hEvent = PRIVATE->event.getEvent();
|
||||
PRIVATE->readed = 0;
|
||||
ReadFile(PRIVATE->hCom, read_to, max_size, NULL, &(PRIVATE->overlap));
|
||||
@@ -924,7 +924,7 @@ ssize_t PISerial::writeDevice(const void * data, ssize_t max_size) {
|
||||
DWORD wrote(0);
|
||||
// piCoutObj << "send ..." << max_size;// << ": " << PIString((char*)data, max_size);
|
||||
sending = true;
|
||||
memset(&(PRIVATE->overlap_write), 0, sizeof(PRIVATE->overlap_write));
|
||||
piZeroMemory(PRIVATE->overlap_write);
|
||||
PRIVATE->overlap_write.hEvent = PRIVATE->event_write.getEvent();
|
||||
WriteFile(PRIVATE->hCom, data, max_size, NULL, &(PRIVATE->overlap_write));
|
||||
if (PRIVATE->event_write.wait()) {
|
||||
@@ -1160,7 +1160,7 @@ PIVector<PISerial::DeviceInfo> PISerial::availableDevicesInfo(bool test) {
|
||||
const HDEVINFO dis = SetupDiGetClassDevs(&(guids[i]), NULL, NULL, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE);
|
||||
if (dis == INVALID_HANDLE_VALUE) continue;
|
||||
SP_DEVINFO_DATA did;
|
||||
memset(&did, 0, sizeof(did));
|
||||
piZeroMemory(did);
|
||||
did.cbSize = sizeof(did);
|
||||
DWORD index = 0;
|
||||
while (SetupDiEnumDeviceInfo(dis, index++, &did)) {
|
||||
|
||||
Reference in New Issue
Block a user