Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Indent the rest of the code (examples, buildtools, doc...) except for examples/SMPI...
[simgrid.git] / tools / tesh2 / src / str_replace.c
index df147e4..976d93c 100644 (file)
 #include <stdlib.h>\r
 \r
 #include <stdio.h>\r
-\r
-int\r
-str_replace(char** str, const char* what, const char* with, const char* delimiters)\r
-{\r
-       size_t pos, i, len;\r
-       char* begin = NULL;\r
-       char* buf;\r
-       int size;\r
-\r
-       if(!*str || !what)\r
-       {\r
-               errno = EINVAL;\r
-               return -1;\r
-       }\r
-\r
-       if(delimiters)\r
-       {\r
-               char* delimited;\r
-\r
-               if(!(delimited = (char*) calloc((strlen(what) + 2) , sizeof(char))))\r
-                       return -1;\r
-\r
-               len = strlen(delimiters);\r
-\r
-               for(i = 0; i < len; i++)\r
-               {\r
-                       memset(delimited, 0, (strlen(what) + 2));\r
-\r
-                       sprintf(delimited,"%s%c", what, delimiters[i]);\r
-\r
-                       if((begin = strstr(*str, delimited)))\r
-                               break;\r
-               }\r
-\r
-               free(delimited);\r
-       }\r
-       else\r
-               begin = strstr(*str, what);\r
-\r
-\r
-       if(!begin && (size = (int)strlen(*str) - (int)strlen(what)) >= 0 && !strcmp(*str + size, what))\r
-               begin = strstr(*str, what);\r
-\r
-       if(!begin)\r
-       {\r
-               errno = ESRCH;\r
-               return -1;\r
-       }\r
-\r
-       pos = begin - *str;\r
-\r
-       i = 0;\r
-\r
-       pos += strlen(what);\r
-\r
-       if(begin == *str)\r
-       {\r
-               if(!(buf = (char*) calloc((with ? strlen(with) : 0) + ((pos < strlen(*str)) ? strlen(*str + pos) : 0) + 1, sizeof(char))))\r
-                       return -1;\r
-\r
-               if(with)\r
-                       strcpy(buf, with);\r
-\r
-               if(pos < strlen(*str))\r
-                       strcpy(buf + (with ? strlen(with) : 0), *str + pos);\r
-       }\r
-       else\r
-       {\r
-               if(!(buf = (char*) calloc((begin - *str) + (with ? strlen(with) : 0) + ((pos < strlen(*str)) ? strlen(*str + pos) : 0) + 1, sizeof(char))))\r
-                       return -1;\r
-\r
-               strncpy(buf, *str,  (begin - *str));\r
-\r
-               if(with)\r
-                       strcpy(buf + (begin - *str) , with);\r
-\r
-               if(pos < strlen(*str))\r
-                       strcpy(buf + (begin - *str) + (with ? strlen(with) : 0), *str + pos);\r
-       }\r
-\r
-       free(*str);\r
-\r
-       *str = buf;\r
-\r
-       return 0;\r
-\r
-}\r
-\r
-int\r
-str_replace_all(char** str, const char* what, const char* with, const char* delimiters)\r
-{\r
-       int rv;\r
-\r
-       while(!(rv = str_replace(str, what, with, delimiters)));\r
-\r
-       return (errno == ESRCH) ? 0 : -1;\r
-}\r
-\r
-\r
-\r
-\r
-\r
+\rint \r
+str_replace(char **str, const char *what, const char *with,
+            const char *delimiters) \r
+{
+  \rsize_t pos, i, len;
+  \rchar *begin = NULL;
+  \rchar *buf;
+  \rint size;
+  \r\rif (!*str || !what)
+    \r {
+    \rerrno = EINVAL;
+    \rreturn -1;
+    \r}
+  \r\rif (delimiters)
+    \r {
+    \rchar *delimited;
+    \r\rif (!(delimited = (char *) calloc((strlen(what) + 2), sizeof(char))))
+      \rreturn -1;
+    \r\rlen = strlen(delimiters);
+    \r\rfor (i = 0; i < len; i++)
+      \r {
+      \rmemset(delimited, 0, (strlen(what) + 2));
+      \r\rsprintf(delimited, "%s%c", what, delimiters[i]);
+      \r\rif ((begin = strstr(*str, delimited)))
+        \rbreak;
+      \r}
+    \r\rfree(delimited);
+    \r}
+  \r
+  else
+    \rbegin = strstr(*str, what);
+  \r\r\rif (!begin && (size = (int) strlen(*str) - (int) strlen(what)) >= 0
+         && !strcmp(*str + size, what))
+    \rbegin = strstr(*str, what);
+  \r\rif (!begin)
+    \r {
+    \rerrno = ESRCH;
+    \rreturn -1;
+    \r}
+  \r\rpos = begin - *str;
+  \r\ri = 0;
+  \r\rpos += strlen(what);
+  \r\rif (begin == *str)
+    \r {
+    \rif (!
+         (buf =
+          (char *) calloc((with ? strlen(with) : 0) +
+                          ((pos <
+                            strlen(*str)) ? strlen(*str + pos) : 0) + 1,
+                          sizeof(char))))
+      \rreturn -1;
+    \r\rif (with)
+      \rstrcpy(buf, with);
+    \r\rif (pos < strlen(*str))
+      \rstrcpy(buf + (with ? strlen(with) : 0), *str + pos);
+    \r}
+  \r
+  else
+    \r {
+    \rif (!
+         (buf =
+          (char *) calloc((begin - *str) + (with ? strlen(with) : 0) +
+                          ((pos <
+                            strlen(*str)) ? strlen(*str + pos) : 0) + 1,
+                          sizeof(char))))
+      \rreturn -1;
+    \r\rstrncpy(buf, *str, (begin - *str));
+    \r\rif (with)
+      \rstrcpy(buf + (begin - *str), with);
+    \r\rif (pos < strlen(*str))
+      \rstrcpy(buf + (begin - *str) + (with ? strlen(with) : 0),
+              *str + pos);
+    \r}
+  \r\rfree(*str);
+  \r\r*str = buf;
+  \r\rreturn 0;
+\r\r}
+
+\r\rint \r
+str_replace_all(char **str, const char *what, const char *with,
+                const char *delimiters) \r
+{
+  \rint rv;
+  \r\rwhile (!(rv = str_replace(str, what, with, delimiters)));
+  \r\rreturn (errno == ESRCH) ? 0 : -1;
+\r}
+
+\r\r\r\r\r\r