]> git.llucax.com Git - z.facultad/75.42/calculadora.git/blobdiff - strutil.c
Ăšltimos retoques.
[z.facultad/75.42/calculadora.git] / strutil.c
index 48ec6f2c0eff1e0b9a1db330d44932109eea8632..8a84d43093cb1314867755b62e9bc3f89955bd5a 100644 (file)
--- a/strutil.c
+++ b/strutil.c
@@ -15,6 +15,7 @@
  */
 
 #include "strutil.h"
  */
 
 #include "strutil.h"
+#include "parser_common.h"
 #include <stdlib.h>
 #include <string.h>
 
 #include <stdlib.h>
 #include <string.h>
 
@@ -28,7 +29,24 @@ char* strutil_copy_fragment(const char* orig, size_t start, size_t len) {
         strncpy(new, orig + start, len);
         /* Termino la cadena. */
         new[len] = '\0';
         strncpy(new, orig + start, len);
         /* Termino la cadena. */
         new[len] = '\0';
-    /* Si no pude reservar la memoria, devuelvo NULL. */
+    }
+    return new;
+}
+
+char* strutil_copy_stripspaces(const char* orig, size_t len) {
+    size_t i = 0;
+    size_t j = 0;
+    /* Reservo el espacio (incluyendo el caracter nulo). */
+    char* new = malloc(sizeof(char) * (len + 1));
+    if (new) {
+        /* Copio caracteres que no sean espacios. */
+        for (i = 0; i < len; i++) {
+            if (!is_space(orig[i])) {
+                new[j++] = orig[i];
+            }
+        }
+        /* Termino la cadena. */
+        new[j] = '\0';
     }
     return new;
 }
     }
     return new;
 }