tool/DataTypeHandler.cpp
changeset 2388 7fc286c8e72b
parent 2188 08f547145c91
child 2411 01370d59233d
equal deleted inserted replaced
2387:bed7bd7588d0 2388:7fc286c8e72b
     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