Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
include all the needed files in the archive so that the tar.gz compiles afterward
[simgrid.git] / src / xbt / xbt_str.c
index 73279a4..231ca6e 100644 (file)
@@ -9,11 +9,11 @@
  * under the terms of the license (GNU LGPL) which comes with this package.
  */
 
+#include "portable.h"
 #include "xbt/misc.h"
 #include "xbt/sysdep.h"
 #include "xbt/str.h"            /* headers of these functions */
 #include "xbt/strbuff.h"
-#include "portable.h"
 #include "xbt/matrix.h"         /* for the diff */
 
 /**  @brief Strip whitespace (or other characters) from the end of a string.
@@ -434,8 +434,7 @@ xbt_dynar_t xbt_str_split_quoted(const char *s)
                    xbt_dynar_free(&d);
 
 XBT_TEST_SUITE("xbt_str", "String Handling");
-XBT_TEST_UNIT("xbt_str_split_quoted", test_split_quoted,
-              "test the function xbt_str_split_quoted")
+XBT_TEST_UNIT("xbt_str_split_quoted", test_split_quoted,"test the function xbt_str_split_quoted")
 {
   xbt_dynar_t d;
   char *s;
@@ -467,8 +466,7 @@ XBT_TEST_UNIT("xbt_str_split_quoted", test_split_quoted,
                    free(s); \
                    xbt_dynar_free(&d);
 
-XBT_TEST_UNIT("xbt_str_split_str", test_split_str,
-              "test the function xbt_str_split_str")
+XBT_TEST_UNIT("xbt_str_split_str", test_split_str,"test the function xbt_str_split_str")
 {
   xbt_dynar_t d;
   char *s;
@@ -699,3 +697,24 @@ char *xbt_str_diff(char *a, char *b)
 
   return res;
 }
+
+
+/** @brief creates a new string containing what can be read on a fd
+ *
+ */
+char* xbt_str_from_file(FILE *file) {
+  xbt_strbuff_t buff = xbt_strbuff_new();
+  char *res;
+  char bread[1024];
+  memset(bread,0,1024);
+
+  while (!feof(file)) {
+    int got = fread(bread, 1, 1023, file);
+    bread[got] = '\0';
+    xbt_strbuff_append(buff,bread);
+  }
+
+  res = buff->data;
+  xbt_strbuff_free_container(buff);
+  return res;
+}