+
+ case SS_DATATYPE_STRING:
+ switch(Source->Type)
+ {
+ case SS_DATATYPE_INTEGER: len = snprintf(NULL, 0, "%li", Source->Integer); break;
+ case SS_DATATYPE_REAL: snprintf(NULL, 0, "%f", Source->Real); break;
+ default: break;
+ }
+ ret = malloc(sizeof(tSpiderValue) + len + 1);
+ ret->Type = SS_DATATYPE_STRING;
+ ret->ReferenceCount = 1;
+ ret->String.Length = len;
+ switch(Source->Type)
+ {
+ case SS_DATATYPE_INTEGER: sprintf(ret->String.Data, "%li", Source->Integer); break;
+ case SS_DATATYPE_REAL: sprintf(ret->String.Data, "%f", Source->Real); break;
+ default:
+ fprintf(stderr, "SpiderScript_CastValueTo - Invalid cast from %i\n", Source->Type);
+ free(ret);
+ ret = ERRPTR;
+ break;
+ }
+ break;
+