[beast] SFI: improved record field name canonicalization code



commit d18c67cbb71e48dfa1a1c807a49d0c9468f89b59
Author: Stefan Westerfeld <stefan space twc de>
Date:   Tue Jan 25 18:40:01 2011 +0100

    SFI: improved record field name canonicalization code
    
    - use g_strdup for clarity
    - fix names/comments: legal -> valid

 sfi/sfiprimitives.c |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)
---
diff --git a/sfi/sfiprimitives.c b/sfi/sfiprimitives.c
index fff0e30..ea64429 100644
--- a/sfi/sfiprimitives.c
+++ b/sfi/sfiprimitives.c
@@ -818,9 +818,9 @@ sfi_rec_field (const SfiRec *rec,
   return rec->fields + index;
 }
 
-/* legal chars for dupcanon */
+/* valid chars for dupcanon */
 static inline int
-legal (char c)
+valid (char c)
 {
   return ((c >= 'a' && c <= 'z') || (c == '-') ||
           (c >= '0' && c <= '9') ||
@@ -833,18 +833,16 @@ dupcanon (const gchar *field_name)
 {
   size_t i = 0;
 
-  while (legal (field_name[i]))
+  while (valid (field_name[i]))
     i++;
 
   if (field_name[i] == 0)  // no need for canonification, all chars legal
     return NULL;
 
-  size_t len = strlen (field_name);
-  gchar *canon_field_name = (gchar *) g_malloc (len + 1);
-  memcpy (canon_field_name, field_name, len + 1);
-  while (i < len)
+  gchar *canon_field_name = g_strdup (field_name);
+  while (canon_field_name[i])
     {
-      if (!legal (canon_field_name[i]))
+      if (!valid (canon_field_name[i]))
         canon_field_name[i] = '-';
       i++;
     }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]