summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordscho <dscho>2004-12-01 18:21:39 +0000
committerdscho <dscho>2004-12-01 18:21:39 +0000
commit7d3b1c9762b5f2878e9783677677cb2b3aa10e7e (patch)
treecf6a503d0d89006e39de5f5c4393b89ba1d2c8e4
parentc641923d058c1f8927bb3169c5f78b0510adb72f (diff)
downloadlibtdevnc-7d3b1c9762b5f2878e9783677677cb2b3aa10e7e.tar.gz
libtdevnc-7d3b1c9762b5f2878e9783677677cb2b3aa10e7e.zip
use rfbClientErr to log errors, check if calloc succeded (both hinted by Andre Leiradella)
-rw-r--r--AUTHORS2
-rw-r--r--libvncclient/listen.c2
-rw-r--r--libvncclient/sockets.c30
-rw-r--r--libvncclient/vncviewer.c4
4 files changed, 21 insertions, 17 deletions
diff --git a/AUTHORS b/AUTHORS
index 7ee16bd..b4d232e 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -24,7 +24,7 @@ archives and please don't beat me, if I forgot you, but just send me an
email!): Akira Hatakeyama, Karl J. Runge, Justin "Zippy" Dearing,
Oliver Mihatsch, Greg Sternberg, Werner Hofer, Giampiero Giancipoli,
Glenn Mabutt, Paul Kreiner, Erik Kunze, Mike Frysinger, Martin Waitz,
-Mark McLoughlin, Paul Fox, Juan Jose Costello.
+Mark McLoughlin, Paul Fox, Juan Jose Costello, Andre Leiadella.
Probably I forgot quite a few people sending a patch here and there, which
really made a difference. Without those, some obscure bugs still would
diff --git a/libvncclient/listen.c b/libvncclient/listen.c
index 1e6f68b..a7e4259 100644
--- a/libvncclient/listen.c
+++ b/libvncclient/listen.c
@@ -77,7 +77,7 @@ listenForIncomingConnections(rfbClient* client)
switch (fork()) {
case -1:
- perror("fork");
+ rfbClientErr("fork");
return;
case 0:
diff --git a/libvncclient/sockets.c b/libvncclient/sockets.c
index 6991616..13cb770 100644
--- a/libvncclient/sockets.c
+++ b/libvncclient/sockets.c
@@ -120,7 +120,7 @@ ReadFromRFBServer(rfbClient* client, char *out, unsigned int n)
*/
i = 0;
} else {
- perror("read");
+ rfbClientErr("read");
return FALSE;
}
} else {
@@ -149,7 +149,7 @@ ReadFromRFBServer(rfbClient* client, char *out, unsigned int n)
*/
i = 0;
} else {
- perror("read");
+ rfbClientErr("read");
return FALSE;
}
} else {
@@ -200,12 +200,12 @@ WriteToRFBServer(rfbClient* client, char *buf, int n)
FD_SET(client->sock,&fds);
if (select(client->sock+1, NULL, &fds, NULL, NULL) <= 0) {
- perror("select");
+ rfbClientErr("select");
return FALSE;
}
j = 0;
} else {
- perror("write");
+ rfbClientErr("write");
return FALSE;
}
} else {
@@ -236,19 +236,19 @@ ConnectClientToTcpAddr(unsigned int host, int port)
sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock < 0) {
- perror("ConnectToTcpAddr: socket");
+ rfbClientErr("ConnectToTcpAddr: socket");
return -1;
}
if (connect(sock, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
- perror("ConnectToTcpAddr: connect");
+ rfbClientErr("ConnectToTcpAddr: connect");
close(sock);
return -1;
}
if (setsockopt(sock, IPPROTO_TCP, TCP_NODELAY,
(char *)&one, sizeof(one)) < 0) {
- perror("ConnectToTcpAddr: setsockopt");
+ rfbClientErr("ConnectToTcpAddr: setsockopt");
close(sock);
return -1;
}
@@ -274,7 +274,7 @@ FindFreeTcpPort(void)
sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock < 0) {
- perror(": FindFreeTcpPort: socket");
+ rfbClientErr(": FindFreeTcpPort: socket");
return 0;
}
@@ -308,25 +308,25 @@ ListenAtTcpPort(int port)
sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock < 0) {
- perror("ListenAtTcpPort: socket");
+ rfbClientErr("ListenAtTcpPort: socket");
return -1;
}
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR,
(const char *)&one, sizeof(one)) < 0) {
- perror("ListenAtTcpPort: setsockopt");
+ rfbClientErr("ListenAtTcpPort: setsockopt");
close(sock);
return -1;
}
if (bind(sock, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
- perror("ListenAtTcpPort: bind");
+ rfbClientErr("ListenAtTcpPort: bind");
close(sock);
return -1;
}
if (listen(sock, 5) < 0) {
- perror("ListenAtTcpPort: listen");
+ rfbClientErr("ListenAtTcpPort: listen");
close(sock);
return -1;
}
@@ -349,13 +349,13 @@ AcceptTcpConnection(int listenSock)
sock = accept(listenSock, (struct sockaddr *) &addr, &addrlen);
if (sock < 0) {
- perror("AcceptTcpConnection: accept");
+ rfbClientErr("AcceptTcpConnection: accept");
return -1;
}
if (setsockopt(sock, IPPROTO_TCP, TCP_NODELAY,
(char *)&one, sizeof(one)) < 0) {
- perror("AcceptTcpConnection: setsockopt");
+ rfbClientErr("AcceptTcpConnection: setsockopt");
close(sock);
return -1;
}
@@ -372,7 +372,7 @@ rfbBool
SetNonBlocking(int sock)
{
if (fcntl(sock, F_SETFL, O_NONBLOCK) < 0) {
- perror("AcceptTcpConnection: fcntl");
+ rfbClientErr("AcceptTcpConnection: fcntl");
return FALSE;
}
return TRUE;
diff --git a/libvncclient/vncviewer.c b/libvncclient/vncviewer.c
index 914b422..2a11970 100644
--- a/libvncclient/vncviewer.c
+++ b/libvncclient/vncviewer.c
@@ -91,6 +91,10 @@ static void initAppData(AppData* data) {
rfbClient* rfbGetClient(int bitsPerSample,int samplesPerPixel,
int bytesPerPixel) {
rfbClient* client=(rfbClient*)calloc(sizeof(rfbClient),1);
+ if(!client) {
+ rfbClientErr("Couldn't allocate client structure!\n");
+ return 0;
+ }
initAppData(&client->appData);
client->programName = 0;
client->endianTest = 1;