equal
deleted
inserted
replaced
1 /***************************************************************************** |
1 /***************************************************************************** |
2 * |
2 * |
3 * $Id$ |
3 * $Id: DataTypeHandler.cpp,v 08f547145c91 2012/01/04 14:57:10 fp $ |
4 * |
4 * |
5 * Copyright (C) 2006-2009 Florian Pose, Ingenieurgemeinschaft IgH |
5 * Copyright (C) 2006-2009 Florian Pose, Ingenieurgemeinschaft IgH |
6 * |
6 * |
7 * This file is part of the IgH EtherCAT Master. |
7 * This file is part of the IgH EtherCAT Master. |
8 * |
8 * |
184 } |
184 } |
185 case 0x0009: // string |
185 case 0x0009: // string |
186 case 0x000a: // octet_string |
186 case 0x000a: // octet_string |
187 case 0x000b: // unicode_string |
187 case 0x000b: // unicode_string |
188 dataSize = str.str().size(); |
188 dataSize = str.str().size(); |
189 if (dataSize >= targetSize) { |
189 if (dataSize > targetSize) { |
190 stringstream err; |
190 stringstream err; |
191 err << "String too large"; |
191 err << "String too large (" |
|
192 << dataSize << " > " << targetSize << ")"; |
192 throw SizeException(err.str()); |
193 throw SizeException(err.str()); |
193 } |
194 } |
194 str >> (char *) target; |
195 str >> (char *) target; |
195 break; |
196 break; |
196 case 0x0011: // double |
197 case 0x0011: // double |