Index: /issm/trunk-jpl/src/c/objects/KML/KML_Unknown.cpp
===================================================================
--- /issm/trunk-jpl/src/c/objects/KML/KML_Unknown.cpp	(revision 11405)
+++ /issm/trunk-jpl/src/c/objects/KML/KML_Unknown.cpp	(revision 11406)
@@ -68,11 +68,25 @@
 void  KML_Unknown::DeepEcho(const char* indent){
 
-	bool  flag=true;
+	char*        valuei;
+	char*        vtoken;
+	char         nl[]={'\n','\0'};
+	bool         flag=true;
 
 	_printf_(flag,"%sKML_Unknown %s:\n",indent,name);
 	KML_Object::DeepEcho(indent);
 
-	if (value     )
-		_printf_(flag,"%s         value: \"%s\"\n"     ,indent,value);
+	if (value     ) {
+		valuei=(char *) xmalloc((strlen(value)+1)*sizeof(char));
+		memcpy(valuei,value,(strlen(value)+1)*sizeof(char)); 
+        
+		vtoken=strtok(valuei,nl);
+		_printf_(flag,"%s         value: \"%s"     ,indent,vtoken);
+    
+		while (vtoken=strtok(NULL,nl))
+			_printf_(flag,"\n%s                 %s"     ,indent,vtoken);
+		_printf_(flag,"\"\n");
+
+		xfree((void**)&valuei);
+	}
     else
         _printf_(flag,"%s         value: [none]\n"     ,indent);
@@ -84,4 +98,8 @@
 void  KML_Unknown::Write(FILE* filout,const char* indent){
 
+	char*        valuei;
+	char*        vtoken;
+	char         nl[]={'\n','\0'};
+
 	fprintf(filout,"%s<%s",indent,name);
 	WriteAttrib(filout," ");
@@ -89,6 +107,16 @@
 	WriteCommnt(filout,indent);
 
-	if (value     )
-		fprintf(filout,"%s  %s\n",indent,value);
+	if (value     ) {
+		valuei=(char *) xmalloc((strlen(value)+1)*sizeof(char));
+		memcpy(valuei,value,(strlen(value)+1)*sizeof(char)); 
+        
+		vtoken=strtok(valuei,nl);
+		fprintf(filout,"%s  %s\n",indent,vtoken);
+    
+		while (vtoken=strtok(NULL,nl))
+			fprintf(filout,"%s  %s\n",indent,vtoken);
+
+		xfree((void**)&valuei);
+	}
 
 	KML_Object::Write(filout,indent);
@@ -105,4 +133,5 @@
 	int          ncom=0;
 	char**       pcom=NULL;
+	char         nl[]={'\n','\0'};
 
 /*  get object name  */
@@ -133,6 +162,13 @@
 
 		else if (strncmp(kstri,"<",1)) {
-			value=(char *) xmalloc((strlen(kstri)+1)*sizeof(char));
-			memcpy(value,kstri,(strlen(kstri)+1)*sizeof(char));
+			if (value) {
+				value=(char *) xrealloc(value,(strlen(value)+1+strlen(kstri)+1)*sizeof(char));
+				strcat(value,nl);
+				strcat(value,kstri);
+			}
+			else {
+				value=(char *) xmalloc((strlen(kstri)+1)*sizeof(char));
+				memcpy(value,kstri,(strlen(kstri)+1)*sizeof(char));
+			}
 		}
 
