Update of /cvsroot/playerstage/code/player/server/drivers/shell
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11860/server/drivers/shell
Modified Files:
Tag: b_thjc_dynamic_arrays
readlog.cc writelog.cc
Log Message:
dynamic array changes to drivers compile, still needs testing
added lots more .cvsignore settings for eclipse
Index: writelog.cc
===================================================================
RCS file: /cvsroot/playerstage/code/player/server/drivers/shell/writelog.cc,v
retrieving revision 1.82.2.1
retrieving revision 1.82.2.2
diff -C2 -d -r1.82.2.1 -r1.82.2.2
*** writelog.cc 14 Sep 2007 00:21:10 -0000 1.82.2.1
--- writelog.cc 19 Oct 2007 21:58:56 -0000 1.82.2.2
***************
*** 23,27 ****
--- 23,31 ----
* Author: Andrew Howard
* Date: 14 Jun 2003
+ <<<<<<< writelog.cc
+ * CVS: $Id$
+ =======
* CVS: $Id$
+ >>>>>>> 1.82.2.1
*
*/
***************
*** 618,627 ****
this->device_addr))
{
- if(hdr->size != sizeof(player_log_set_write_state_t))
- {
- PLAYER_ERROR2("request is wrong length (%d != %d); ignoring",
- hdr->size, sizeof(player_log_set_write_state_t));
- return(-1);
- }
player_log_set_write_state_t* sreq = (player_log_set_write_state_t*)data;
--- 622,625 ----
***************
*** 646,656 ****
PLAYER_LOG_REQ_GET_STATE, this->device_addr))
{
- if(hdr->size != 0)
- {
- PLAYER_ERROR2("request is wrong length (%d != %d); ignoring",
- hdr->size, 0);
- return(-1);
- }
-
player_log_get_state_t greq;
--- 644,647 ----
***************
*** 671,680 ****
PLAYER_LOG_REQ_SET_FILENAME,
this->device_addr))
{
- if(hdr->size < sizeof(uint32_t))
- {
- PLAYER_ERROR2("request is wrong length (%d < %d); ignoring",
- hdr->size, sizeof(uint32_t));
- return(-1);
- }
player_log_set_filename_t* freq = (player_log_set_filename_t*)data;
--- 662,665 ----
***************
*** 1710,1720 ****
player_aio_data_t* inputs(static_cast<player_aio_data_t*>(data));
- // check for buffer overrun
- if (inputs->voltages_count > PLAYER_AIO_MAX_INPUTS) {
- // this shouldn't happen
- PLAYER_ERROR("count too big for buffer");
- return -1;
- }
-
fprintf(this->file, "%04d ", inputs->voltages_count);
--- 1695,1698 ----
***************
*** 1805,1823 ****
player_rfid_data_t* rdata(static_cast<player_rfid_data_t*>(data));
- if (rdata->tags_count > PLAYER_RFID_MAX_TAGS) {
- // this shouldn't happen
- PLAYER_ERROR("count too big for buffer");
- return -1;
- }
-
fprintf(file, "%04d ", rdata->tags_count);
for (player_rfid_tag_t *t(rdata->tags);
t != rdata->tags + rdata->tags_count; ++t) {
! if (t->guid_count > PLAYER_RFID_MAX_GUID) {
! PLAYER_ERROR("guid count too big for buffer");
! return -1;
! }
! char str[PLAYER_RFID_MAX_GUID * 2 + 1];
memset(str, '\0', sizeof(str));
EncodeHex(str, sizeof(str), t->guid, t->guid_count);
--- 1783,1791 ----
player_rfid_data_t* rdata(static_cast<player_rfid_data_t*>(data));
fprintf(file, "%04d ", rdata->tags_count);
for (player_rfid_tag_t *t(rdata->tags);
t != rdata->tags + rdata->tags_count; ++t) {
! char str[t->guid_count * 2 + 1];
memset(str, '\0', sizeof(str));
EncodeHex(str, sizeof(str), t->guid, t->guid_count);
Index: readlog.cc
===================================================================
RCS file: /cvsroot/playerstage/code/player/server/drivers/shell/readlog.cc,v
retrieving revision 1.52.2.1
retrieving revision 1.52.2.2
diff -C2 -d -r1.52.2.1 -r1.52.2.2
*** readlog.cc 14 Sep 2007 00:21:10 -0000 1.52.2.1
--- readlog.cc 19 Oct 2007 21:58:56 -0000 1.52.2.2
***************
*** 23,27 ****
--- 23,31 ----
* Author: Andrew Howard
* Date: 17 May 2003
+ <<<<<<< readlog.cc
+ * CVS: $Id$
+ =======
* CVS: $Id$
+ >>>>>>> 1.52.2.1
*
* The writelog driver will write data from another device to a log file.
***************
*** 147,150 ****
--- 151,155 ----
#include <libplayercore/playercore.h>
+ #include <libplayerxdr/playerxdr.h>
#include "encode.h"
***************
*** 1107,1119 ****
this->localize_addr))
{
- if(hdr->size != 0)
- {
- PLAYER_ERROR2("request is wrong length (%d != %d); ignoring",
- hdr->size, 0);
- return(PLAYER_MSGTYPE_RESP_NACK);
- }
-
-
-
this->Publish(this->localize_addr, resp_queue,
PLAYER_MSGTYPE_RESP_ACK,
--- 1112,1115 ----
***************
*** 2328,2338 ****
}
- if (inputs.voltages_count > PLAYER_AIO_MAX_INPUTS) {
- PLAYER_ERROR2("invalid line at %s:%d: too much data for buffer",
- filename, linenum);
- return -1;
- }
-
char **t(tokens + 8);
for (float *v(inputs.voltages);
v != inputs.voltages + inputs.voltages_count; ++v, ++t)
--- 2324,2329 ----
}
char **t(tokens + 8);
+ inputs.voltages = new float[inputs.voltages_count];
for (float *v(inputs.voltages);
v != inputs.voltages + inputs.voltages_count; ++v, ++t)
***************
*** 2341,2344 ****
--- 2332,2336 ----
Publish(id, type, subtype, (void *)&inputs, sizeof(inputs),
&time);
+ delete [] inputs.voltages;
return 0;
}
***************
*** 2436,2454 ****
}
- if (rdata.tags_count > PLAYER_RFID_MAX_TAGS) {
- PLAYER_ERROR2("invalid line at %s:%d: too much data for buffer",
- this->filename, linenum);
- return -1;
- }
char **t(tokens + 8);
for (player_rfid_tag_t *r(rdata.tags);
r != rdata.tags + rdata.tags_count; ++r, ++t) {
r->guid_count = strlen(*t) / 2;
! DecodeHex(r->guid, PLAYER_RFID_MAX_GUID, *t, strlen(*t));
}
Publish(id, type, subtype, (void *)&rdata, sizeof(rdata),
&time);
return 0;
}
--- 2428,2444 ----
}
char **t(tokens + 8);
+ rdata.tags = new player_rfid_tag_t[ rdata.tags_count];
for (player_rfid_tag_t *r(rdata.tags);
r != rdata.tags + rdata.tags_count; ++r, ++t) {
r->guid_count = strlen(*t) / 2;
! r->guid = new char [r->guid_count];
! DecodeHex(r->guid, r->guid_count, *t, strlen(*t));
}
Publish(id, type, subtype, (void *)&rdata, sizeof(rdata),
&time);
+ player_rfid_data_t_cleanup(&rdata);
return 0;
}
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit