|
From: <mla...@us...> - 2007-11-29 00:04:26
|
Revision: 322
http://g15daemon.svn.sourceforge.net/g15daemon/?rev=322&view=rev
Author: mlampard
Date: 2007-11-28 16:04:29 -0800 (Wed, 28 Nov 2007)
Log Message:
-----------
keystate needs sending as long, not int.. fixes keystate corruption on net clients.
Modified Paths:
--------------
trunk/g15daemon-wip/libg15daemon_client/g15daemon_client.h
trunk/g15daemon-wip/libg15daemon_client/g15daemon_net.c
trunk/g15daemon-wip/plugins/g15_plugin_net.c
Modified: trunk/g15daemon-wip/libg15daemon_client/g15daemon_client.h
===================================================================
--- trunk/g15daemon-wip/libg15daemon_client/g15daemon_client.h 2007-11-29 00:00:29 UTC (rev 321)
+++ trunk/g15daemon-wip/libg15daemon_client/g15daemon_client.h 2007-11-29 00:04:29 UTC (rev 322)
@@ -67,7 +67,7 @@
int g15_recv(int sock, char *buf, unsigned int len);
/* send a command (defined above) to the daemon. any replies from the daemon are returned */
-int g15_send_cmd (int sock, unsigned char command, unsigned char value);
+unsigned long g15_send_cmd (int sock, unsigned char command, unsigned char value);
/* receive an oob byte from the daemon, used internally by g15_send_cmd, but useful elsewhere */
#define G15_FOREGROUND_SENT_OOB 1
int g15_recv_oob_answer(int sock);
Modified: trunk/g15daemon-wip/libg15daemon_client/g15daemon_net.c
===================================================================
--- trunk/g15daemon-wip/libg15daemon_client/g15daemon_net.c 2007-11-29 00:00:29 UTC (rev 321)
+++ trunk/g15daemon-wip/libg15daemon_client/g15daemon_net.c 2007-11-29 00:04:29 UTC (rev 322)
@@ -177,7 +177,7 @@
return packet[0];
}
-int g15_send_cmd (int sock, unsigned char command, unsigned char value)
+unsigned long g15_send_cmd (int sock, unsigned char command, unsigned char value)
{
int retval;
unsigned char packet[2];
@@ -219,9 +219,9 @@
break;
case G15DAEMON_GET_KEYSTATE:{
retval = 0;
- packet[0] = (unsigned char)command;
- send( sock, packet, 1, MSG_OOB );
- g15_recv(sock, (char*)&retval, sizeof(retval));
+ unsigned long keystate = 0;
+ g15_recv(sock, (char*)&keystate, sizeof(keystate));
+ return keystate;
break;
}
case G15DAEMON_IS_FOREGROUND:{
Modified: trunk/g15daemon-wip/plugins/g15_plugin_net.c
===================================================================
--- trunk/g15daemon-wip/plugins/g15_plugin_net.c 2007-11-29 00:00:29 UTC (rev 321)
+++ trunk/g15daemon-wip/plugins/g15_plugin_net.c 2007-11-29 00:04:29 UTC (rev 322)
@@ -108,7 +108,8 @@
}
else if (msgbuf[0] & CLIENT_CMD_BACKLIGHT)
{
- send(sock,&lcdnode->lcd->backlight_state,1,MSG_OOB);
+ unsigned char retval = lcdnode->lcd->backlight_state;
+ send(sock,&retval,1,MSG_OOB);
lcdnode->lcd->backlight_state = msgbuf[0]-0x80;
lcdnode->lcd->state_changed = 1;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|