- int k = feof(fp);\r
- fscanf(fp, "%s\n",filenameaux);\r
- XML_Tree->TagName[i] = (unsigned char *)malloc(sizeof(unsigned char)*(strlen((const char *)filenameaux)+1));\r
- strcpy((char *)XML_Tree->TagName[i], (const char *)filenameaux);\r
+ \r
+ // Kim is it needed ?\r
+ int k = feof(fp);\r
+ // fscanf chokes ont "\n" which is the case for the root element\r
+ char * r = fgets(filenameaux,1023,fp);\r
+ // int r = fscanf(fp, "<%s>\n",filenameaux);\r
+ if (r==NULL)\r
+ throw "Cannot read tag list";\r
+\r
+\r
+ int len = strlen((const char*)filenameaux);\r
+ XML_Tree->TagName[i] = (unsigned char *)calloc(len,sizeof(char));\r
+\r
+ //XML_Tree->TagName[i] = (unsigned char *)malloc(sizeof(unsigned char)*(strlen((const char *)filenameaux)+1));\r
+ //the - 1 removes the trailing \n\r
+ strncpy((char *)XML_Tree->TagName[i], (const char *)filenameaux,len - 1);\r