[504] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

[D-O-H] r627 - trunk/owl

daemon@ATHENA.MIT.EDU (asedeno@MIT.EDU)
Thu Oct 29 18:06:53 2009

Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
To: dirty-owl-hackers@mit.edu
From: asedeno@MIT.EDU
Reply-to: dirty-owl-hackers@MIT.EDU
Date: Fri, 23 Feb 2007 15:21:49 -0500 (EST)

Author: asedeno
Date: 2007-02-23 15:21:48 -0500 (Fri, 23 Feb 2007)
New Revision: 627

Modified:
   trunk/owl/util.c
Log:
Once more, dealing better with free().



Modified: trunk/owl/util.c
===================================================================
--- trunk/owl/util.c	2007-02-23 20:12:49 UTC (rev 626)
+++ trunk/owl/util.c	2007-02-23 20:21:48 UTC (rev 627)
@@ -742,18 +742,24 @@
 */
 char * owl_util_baseclass(char * class)
 {
-  char * newClass;
-  char * end;
-  newClass = owl_strdup(class);
-  while(!strncmp(newClass, "un", 2)) {
-    newClass += 2;
+  char *newClass;
+  char *ret;
+  char *start, *end;
+
+  start = newClass = owl_strdup(class);
+  while(!strncmp(start, "un", 2)) {
+    start += 2;
   }
-  end = newClass + strlen(newClass) - 1;
+  end = start + strlen(start) - 1;
   while(*end == 'd' && *(end-1) == '.') {
     end -= 2;
   }
   *(end + 1) = 0;
-  return newClass;
+
+  ret = owl_strdup(start);
+  owl_free(newClass);
+
+  return ret;
 }
 
 /**************************************************************************/


home help back first fref pref prev next nref lref last post