MCParagraph *MCCdata::getparagraphs() { MCParagraph *paragraphs; if (id & COMPACT_PARAGRAPHS) { paragraphs = NULL; char *eptr = (char *)data; while ((eptr = strtok(eptr, "\n")) != NULL) { MCParagraph *tpgptr = new MCParagraph; tpgptr->appendto(paragraphs); uint2 l = strlen(eptr) + 1; char *sptr = new char[l]; memcpy(sptr, eptr, l); tpgptr->settext(sptr, l, false); eptr = NULL; } delete (char *)data; data = paragraphs; id &= ~COMPACT_PARAGRAPHS; } if (data == NULL) data = paragraphs = new MCParagraph; else paragraphs = (MCParagraph *)data; return paragraphs; }
MCParagraph *MCCdata::getparagraphs() { MCParagraph *paragraphs; if (id & COMPACT_PARAGRAPHS) { paragraphs = NULL; char *eptr = (char *)data; while ((eptr = strtok(eptr, "\n")) != NULL) { MCParagraph *tpgptr = new (nothrow) MCParagraph; tpgptr->appendto(paragraphs); uint2 l = strlen(eptr) + 1; /* UNCHECKED */ MCAutoPointer<char_t[]> sptr = new (nothrow) char_t[l]; memcpy(sptr.Get(), eptr, l); MCAutoStringRef t_string; /* UNCHECKED */ MCStringCreateWithNativeChars(sptr.Get(), l, &t_string); tpgptr->settext(*t_string); eptr = NULL; } delete (char *)data; data = paragraphs; id &= ~COMPACT_PARAGRAPHS; } if (data == NULL) data = paragraphs = new (nothrow) MCParagraph; else paragraphs = (MCParagraph *)data; return paragraphs; }