diff -r 63e4bc918640 -r 4522459bb5a4 tool/CommandDownload.cpp --- a/tool/CommandDownload.cpp Mon Jan 19 14:46:55 2009 +0000 +++ b/tool/CommandDownload.cpp Tue Jan 20 08:04:50 2009 +0000 @@ -37,7 +37,8 @@ << "the --type option is mandatory." << endl << endl << "These are the valid SDO entry data types:" << endl - << " int8, int16, int32, uint8, uint16, uint32, string." << endl + << " int8, int16, int32, uint8, uint16, uint32, string," << endl + << " octet_string." << endl << endl << "Arguments:" << endl << " INDEX is the SDO index and must be an unsigned" << endl @@ -191,6 +192,14 @@ data.data_size = strValue.str().size(); strValue >> (char *) data.data; break; + case 0x000a: // octet_string + if (strValue.str().size() >= data.data_size) { + err << "String too large"; + throwCommandException(err); + } + data.data_size = strValue.str().size(); + strValue >> (char *) data.data; + break; default: delete [] data.data;