Enlightenment CVS committal

Author  : mej
Project : eterm
Module  : libast

Dir     : eterm/libast/src


Modified Files:
        array.c avl_tree.c builtin_hashes.c conf.c debug.c 
        dlinked_list.c file.c linked_list.c mem.c msgs.c obj.c 
        objpair.c options.c regexp.c snprintf.c socket.c str.c 
        strings.c tok.c url.c 


Log Message:
Fri Jul 23 17:36:45 2004                        Michael Jennings (mej)

Finally we have strict C99 compliance.
----------------------------------------------------------------------

===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/array.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- array.c     16 Jul 2004 23:22:18 -0000      1.18
+++ array.c     23 Jul 2004 21:38:39 -0000      1.19
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: array.c,v 1.18 2004/07/16 23:22:18 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: array.c,v 1.19 
2004/07/23 21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/avl_tree.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- avl_tree.c  20 Jul 2004 22:32:08 -0000      1.11
+++ avl_tree.c  23 Jul 2004 21:38:39 -0000      1.12
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: avl_tree.c,v 1.10 2004/03/01 19:22:49 mej Exp 
$";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: avl_tree.c,v 1.10 
2004/03/01 19:22:49 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/builtin_hashes.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- builtin_hashes.c    23 Jan 2004 01:44:32 -0000      1.2
+++ builtin_hashes.c    23 Jul 2004 21:38:39 -0000      1.3
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: builtin_hashes.c,v 1.2 2004/01/23 01:44:32 mej 
Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: builtin_hashes.c,v 1.3 
2004/07/23 21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/conf.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -3 -r1.23 -r1.24
--- conf.c      20 Jul 2004 22:32:08 -0000      1.23
+++ conf.c      23 Jul 2004 21:38:39 -0000      1.24
@@ -31,7 +31,7 @@
  * @author Michael Jennings <[EMAIL PROTECTED]>
  */
 
-static const char cvs_ident[] = "$Id: conf.c,v 1.23 2004/07/20 22:32:08 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: conf.c,v 1.24 
2004/07/23 21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/debug.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- debug.c     10 Jan 2004 21:15:17 -0000      1.12
+++ debug.c     23 Jul 2004 21:38:39 -0000      1.13
@@ -28,11 +28,11 @@
  * This file contains all non-cpp-based debugging functionality.
  *
  * @author Michael Jennings <[EMAIL PROTECTED]>
- * $Revision: 1.12 $
- * $Date: 2004/01/10 21:15:17 $
+ * $Revision: 1.13 $
+ * $Date: 2004/07/23 21:38:39 $
  */
 
-static const char cvs_ident[] = "$Id: debug.c,v 1.12 2004/01/10 21:15:17 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: debug.c,v 1.13 
2004/07/23 21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/dlinked_list.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- dlinked_list.c      20 Jul 2004 22:32:08 -0000      1.21
+++ dlinked_list.c      23 Jul 2004 21:38:39 -0000      1.22
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: dlinked_list.c,v 1.21 2004/07/20 22:32:08 mej 
Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: dlinked_list.c,v 1.22 
2004/07/23 21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -972,7 +972,7 @@
     for (current = self->head; current; ) {
         tmp = current;
         current = current->next;
-        BINSWAP(tmp->prev, tmp->next);
+        SWAP(tmp->prev, tmp->next);
     }
     self->head = tmp;
     return TRUE;
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/file.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- file.c      20 Jul 2004 22:32:08 -0000      1.10
+++ file.c      23 Jul 2004 21:38:39 -0000      1.11
@@ -28,11 +28,11 @@
  * This file contains file-related functions.
  *
  * @author Michael Jennings <[EMAIL PROTECTED]>
- * $Revision: 1.10 $
- * $Date: 2004/07/20 22:32:08 $
+ * $Revision: 1.11 $
+ * $Date: 2004/07/23 21:38:39 $
  */
 
-static const char cvs_ident[] = "$Id: file.c,v 1.10 2004/07/20 22:32:08 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: file.c,v 1.11 
2004/07/23 21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/linked_list.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -3 -r1.25 -r1.26
--- linked_list.c       21 Jul 2004 22:17:49 -0000      1.25
+++ linked_list.c       23 Jul 2004 21:38:39 -0000      1.26
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: linked_list.c,v 1.25 2004/07/21 22:17:49 mej 
Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: linked_list.c,v 1.26 
2004/07/23 21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/mem.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -3 -r1.23 -r1.24
--- mem.c       21 Jul 2004 22:17:50 -0000      1.23
+++ mem.c       23 Jul 2004 21:38:39 -0000      1.24
@@ -28,11 +28,11 @@
  * This file contains the memory management subsystem.
  *
  * @author Michael Jennings <[EMAIL PROTECTED]>
- * $Revision: 1.23 $
- * $Date: 2004/07/21 22:17:50 $
+ * $Revision: 1.24 $
+ * $Date: 2004/07/23 21:38:39 $
  */
 
-static const char cvs_ident[] = "$Id: mem.c,v 1.23 2004/07/21 22:17:50 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: mem.c,v 1.24 2004/07/23 
21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/msgs.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- msgs.c      21 Jul 2004 22:17:50 -0000      1.10
+++ msgs.c      23 Jul 2004 21:38:39 -0000      1.11
@@ -29,11 +29,11 @@
  * error messages to the end user.
  *
  * @author Michael Jennings <[EMAIL PROTECTED]>
- * $Revision: 1.10 $
- * $Date: 2004/07/21 22:17:50 $
+ * $Revision: 1.11 $
+ * $Date: 2004/07/23 21:38:39 $
  */
 
-static const char cvs_ident[] = "$Id: msgs.c,v 1.10 2004/07/21 22:17:50 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: msgs.c,v 1.11 
2004/07/23 21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/obj.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -3 -r1.26 -r1.27
--- obj.c       21 Jul 2004 22:17:50 -0000      1.26
+++ obj.c       23 Jul 2004 21:38:39 -0000      1.27
@@ -28,11 +28,11 @@
  * This file contains the basic object class.
  *
  * @author Michael Jennings <[EMAIL PROTECTED]>
- * $Revision: 1.26 $
- * $Date: 2004/07/21 22:17:50 $
+ * $Revision: 1.27 $
+ * $Date: 2004/07/23 21:38:39 $
  */
 
-static const char cvs_ident[] = "$Id: obj.c,v 1.26 2004/07/21 22:17:50 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: obj.c,v 1.27 2004/07/23 
21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/objpair.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- objpair.c   21 Jul 2004 22:17:50 -0000      1.9
+++ objpair.c   23 Jul 2004 21:38:39 -0000      1.10
@@ -28,11 +28,11 @@
  * This file contains the objpair class.
  *
  * @author Michael Jennings <[EMAIL PROTECTED]>
- * $Revision: 1.9 $
- * $Date: 2004/07/21 22:17:50 $
+ * $Revision: 1.10 $
+ * $Date: 2004/07/23 21:38:39 $
  */
 
-static const char cvs_ident[] = "$Id: objpair.c,v 1.9 2004/07/21 22:17:50 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: objpair.c,v 1.10 
2004/07/23 21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/options.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- options.c   22 Jul 2004 02:49:50 -0000      1.14
+++ options.c   23 Jul 2004 21:38:39 -0000      1.15
@@ -29,11 +29,11 @@
  * option parser.
  *
  * @author Michael Jennings <[EMAIL PROTECTED]>
- * $Revision: 1.14 $
- * $Date: 2004/07/22 02:49:50 $
+ * $Revision: 1.15 $
+ * $Date: 2004/07/23 21:38:39 $
  */
 
-static const char cvs_ident[] = "$Id: options.c,v 1.14 2004/07/22 02:49:50 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: options.c,v 1.15 
2004/07/23 21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/regexp.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- regexp.c    22 Jul 2004 02:49:50 -0000      1.14
+++ regexp.c    23 Jul 2004 21:38:39 -0000      1.15
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: regexp.c,v 1.14 2004/07/22 02:49:50 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: regexp.c,v 1.15 
2004/07/23 21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/snprintf.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- snprintf.c  3 Feb 2004 23:17:00 -0000       1.5
+++ snprintf.c  23 Jul 2004 21:38:39 -0000      1.6
@@ -9,7 +9,7 @@
 # undef HAVE_STDARG_H
 #endif
 
-static const char cvs_ident[] = "$Id: snprintf.c,v 1.5 2004/02/03 23:17:00 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: snprintf.c,v 1.6 
2004/07/23 21:38:39 mej Exp $";
 
 /* 
  * Shamelessly snarfed from Enlightenment...
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/socket.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- socket.c    22 Jul 2004 02:49:50 -0000      1.22
+++ socket.c    23 Jul 2004 21:38:39 -0000      1.23
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: socket.c,v 1.22 2004/07/22 02:49:50 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: socket.c,v 1.23 
2004/07/23 21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/str.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -3 -r1.30 -r1.31
--- str.c       20 Jul 2004 22:32:08 -0000      1.30
+++ str.c       23 Jul 2004 21:38:39 -0000      1.31
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: str.c,v 1.30 2004/07/20 22:32:08 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: str.c,v 1.31 2004/07/23 
21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -233,17 +233,17 @@
 spif_bool_t
 spif_str_init_from_num(spif_str_t self, long num)
 {
-    char buff[28];
+    spif_char_t buff[28];
 
     ASSERT_RVAL(!SPIF_STR_ISNULL(self), FALSE);
     /* ***NOT NEEDED*** spif_obj_init(SPIF_OBJ(self)); */
     spif_obj_set_class(SPIF_OBJ(self), SPIF_CLASS_VAR(str));
 
-    snprintf(buff, sizeof(buff), "%ld", num);
-    self->len = strlen(buff);
+    snprintf(SPIF_CHARPTR_C(buff), sizeof(buff), "%ld", num);
+    self->len = strlen(SPIF_CHARPTR_C(buff));
     self->size = self->len + 1;
     self->s = SPIF_CAST(charptr) MALLOC(self->size);
-    strcpy(self->s, buff);
+    strcpy(SPIF_CHARPTR_C(self->s), SPIF_CHARPTR_C(buff));
 
     return TRUE;
 }
@@ -281,7 +281,9 @@
     }
 
     memset(tmp, ' ', indent);
-    snprintf(tmp + indent, sizeof(tmp) - indent, "(spif_str_t) %s:  %10p { \"", name, 
self);
+    snprintf(SPIF_CHARPTR_C(tmp) + indent, sizeof(tmp) - indent,
+             "(spif_str_t) %s:  %10p { \"",
+             name, SPIF_CAST(ptr) self);
     if (SPIF_STR_ISNULL(buff)) {
         buff = spif_str_new_from_ptr(tmp);
     } else {
@@ -290,7 +292,7 @@
 
     spif_str_append(buff, self);
 
-    snprintf(tmp, sizeof(tmp), "\", len %lu, size %lu }\n", (unsigned long) self->len,
+    snprintf(SPIF_CHARPTR_C(tmp), sizeof(tmp), "\", len %lu, size %lu }\n", (unsigned 
long) self->len,
              (unsigned long) self->size);
     spif_str_append_from_ptr(buff, tmp);
     return buff;
@@ -319,7 +321,7 @@
 spif_classname_t
 spif_str_type(spif_str_t self)
 {
-    ASSERT_RVAL(!SPIF_STR_ISNULL(self), SPIF_NULLSTR_TYPE(classname));
+    ASSERT_RVAL(!SPIF_STR_ISNULL(self), SPIF_CAST(classname) 
SPIF_NULLSTR_TYPE(classname));
     return SPIF_OBJ_CLASSNAME(self);
 }
 
@@ -346,7 +348,7 @@
         self->size++;
         self->s = SPIF_CAST(charptr) REALLOC(self->s, self->size);
     }
-    SPIF_CAST(char) (self->s[self->len - 1]) = c;
+    self->s[self->len - 1] = c;
     self->s[self->len] = 0;
     return TRUE;
 }
@@ -371,15 +373,21 @@
 spif_cmp_t
 spif_str_casecmp(spif_str_t self, spif_str_t other)
 {
+    int c;
+
     SPIF_OBJ_COMP_CHECK_NULL(self, other);
-    return SPIF_CMP_FROM_INT(strcasecmp(SPIF_CONST_CAST_C(char *) SPIF_STR_STR(self), 
SPIF_CONST_CAST_C(char *)SPIF_STR_STR(other)));
+    c = strcasecmp(SPIF_CHARPTR_C(SPIF_STR_STR(self)), 
SPIF_CHARPTR_C(SPIF_STR_STR(other)));
+    return SPIF_CMP_FROM_INT(c);
 }
 
 spif_cmp_t
 spif_str_casecmp_with_ptr(spif_str_t self, spif_charptr_t other)
 {
+    int c;
+
     SPIF_OBJ_COMP_CHECK_NULL(self, other);
-    return SPIF_CMP_FROM_INT(strcasecmp(SPIF_CONST_CAST_C(char *) SPIF_STR_STR(self), 
SPIF_CONST_CAST_C(char *)other));
+    c = strcasecmp(SPIF_CHARPTR_C(SPIF_STR_STR(self)), SPIF_CHARPTR_C(other));
+    return SPIF_CMP_FROM_INT(c);
 }
 
 spif_bool_t
@@ -394,21 +402,27 @@
 spif_cmp_t
 spif_str_cmp(spif_str_t self, spif_str_t other)
 {
+    int c;
+
     SPIF_OBJ_COMP_CHECK_NULL(self, other);
-    return SPIF_CMP_FROM_INT(strcmp(SPIF_CONST_CAST_C(char *) SPIF_STR_STR(self), 
SPIF_CONST_CAST_C(char *)SPIF_STR_STR(other)));
+    c = strcmp(SPIF_CHARPTR_C(SPIF_STR_STR(self)), 
SPIF_CHARPTR_C(SPIF_STR_STR(other)));
+    return SPIF_CMP_FROM_INT(c);
 }
 
 spif_cmp_t
 spif_str_cmp_with_ptr(spif_str_t self, spif_charptr_t other)
 {
+    int c;
+
     SPIF_OBJ_COMP_CHECK_NULL(self, other);
-    return SPIF_CMP_FROM_INT(strcmp(SPIF_CONST_CAST_C(char *) SPIF_STR_STR(self), 
SPIF_CONST_CAST_C(char *)other));
+    c = strcmp(SPIF_CHARPTR_C(SPIF_STR_STR(self)), SPIF_CHARPTR_C(other));
+    return SPIF_CMP_FROM_INT(c);
 }
 
 spif_bool_t
 spif_str_downcase(spif_str_t self)
 {
-    char *tmp;
+    spif_charptr_t tmp;
 
     ASSERT_RVAL(!SPIF_STR_ISNULL(self), FALSE);
     for (tmp = self->s; *tmp; tmp++) {
@@ -466,29 +480,41 @@
 spif_cmp_t
 spif_str_ncasecmp(spif_str_t self, spif_str_t other, spif_stridx_t cnt)
 {
+    int c;
+
     SPIF_OBJ_COMP_CHECK_NULL(self, other);
-    return SPIF_CMP_FROM_INT(strncasecmp(SPIF_CONST_CAST_C(char *) 
SPIF_STR_STR(self), SPIF_CONST_CAST_C(char *)SPIF_STR_STR(other), cnt));
+    c = strncasecmp(SPIF_CHARPTR_C(SPIF_STR_STR(self)), 
SPIF_CHARPTR_C(SPIF_STR_STR(other)), cnt);
+    return SPIF_CMP_FROM_INT(c);
 }
 
 spif_cmp_t
 spif_str_ncasecmp_with_ptr(spif_str_t self, spif_charptr_t other, spif_stridx_t cnt)
 {
+    int c;
+
     SPIF_OBJ_COMP_CHECK_NULL(self, other);
-    return SPIF_CMP_FROM_INT(strncasecmp(SPIF_CONST_CAST_C(char *) 
SPIF_STR_STR(self), SPIF_CONST_CAST_C(char *)other, cnt));
+    c = strncasecmp(SPIF_CHARPTR_C(SPIF_STR_STR(self)), SPIF_CHARPTR_C(other), cnt);
+    return SPIF_CMP_FROM_INT(c);
 }
 
 spif_cmp_t
 spif_str_ncmp(spif_str_t self, spif_str_t other, spif_stridx_t cnt)
 {
+    int c;
+
     SPIF_OBJ_COMP_CHECK_NULL(self, other);
-    return SPIF_CMP_FROM_INT(strncmp(SPIF_CONST_CAST_C(char *) SPIF_STR_STR(self), 
SPIF_CONST_CAST_C(char *)SPIF_STR_STR(other), cnt));
+    c = strncmp(SPIF_CHARPTR_C(SPIF_STR_STR(self)), 
SPIF_CHARPTR_C(SPIF_STR_STR(other)), cnt);
+    return SPIF_CMP_FROM_INT(c);
 }
 
 spif_cmp_t
 spif_str_ncmp_with_ptr(spif_str_t self, spif_charptr_t other, spif_stridx_t cnt)
 {
+    int c;
+
     SPIF_OBJ_COMP_CHECK_NULL(self, other);
-    return SPIF_CMP_FROM_INT(strncmp(SPIF_CONST_CAST_C(char *) SPIF_STR_STR(self), 
SPIF_CONST_CAST_C(char *)other, cnt));
+    c = strncmp(SPIF_CHARPTR_C(SPIF_STR_STR(self)), SPIF_CHARPTR_C(other), cnt);
+    return SPIF_CMP_FROM_INT(c);
 }
 
 spif_bool_t
@@ -716,7 +742,7 @@
 spif_bool_t
 spif_str_upcase(spif_str_t self)
 {
-    char *tmp;
+    spif_charptr_t tmp;
 
     ASSERT_RVAL(!SPIF_STR_ISNULL(self), FALSE);
     for (tmp = self->s; *tmp; tmp++) {
@@ -725,5 +751,5 @@
     return TRUE;
 }
 
-SPIF_DEFINE_PROPERTY_FUNC_C(str, spif_stridx_t, size);
-SPIF_DEFINE_PROPERTY_FUNC_C(str, spif_stridx_t, len);
+SPIF_DEFINE_PROPERTY_FUNC_C(str, spif_stridx_t, size)
+SPIF_DEFINE_PROPERTY_FUNC_C(str, spif_stridx_t, len)
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/strings.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -3 -r1.23 -r1.24
--- strings.c   22 Jul 2004 02:49:50 -0000      1.23
+++ strings.c   23 Jul 2004 21:38:39 -0000      1.24
@@ -30,7 +30,7 @@
  * @author Michael Jennings <[EMAIL PROTECTED]>
  */
 
-static const char cvs_ident[] = "$Id: strings.c,v 1.23 2004/07/22 02:49:50 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: strings.c,v 1.24 
2004/07/23 21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -228,8 +228,8 @@
     REQUIRE_RVAL(!SPIF_PTR_ISNULL(src), FALSE);
     REQUIRE_RVAL(size > 0, FALSE);
 
-    len = strnlen(dest, size);
-    if ((len < 0) || (len >= size)) {
+    len = strnlen(SPIF_CHARPTR_C(dest), size);
+    if (len >= size) {
         return FALSE;
     } else {
         return spiftool_safe_strncpy(dest + len, src, size - len);
@@ -248,7 +248,7 @@
 
     REQUIRE_RVAL(str != SPIF_NULL_TYPE(charptr), SPIF_NULL_TYPE(charptr));
 
-    len = SPIF_CAST(uint32) strlen(str);
+    len = SPIF_CAST(uint32) strlen(SPIF_CHARPTR_C(str));
 
     if (idx < 0) {
         start_pos = len + idx;
@@ -342,7 +342,7 @@
 }
 #endif
 
-#define IS_DELIM(c)  ((delim != NULL) ? (strchr(delim, (c)) != NULL) : (isspace(c)))
+#define IS_DELIM(c)  ((delim != NULL) ? (strchr(SPIF_CHARPTR_C(delim), (c)) != NULL) 
: (isspace(c)))
 #define IS_QUOTE(c)  (quote && quote == (c))
 
 spif_charptr_t *
@@ -377,7 +377,7 @@
 
         /* The string we're about to create can't possibly be larger than the 
remainder
            of the string we have yet to parse, so allocate that much space to start. 
*/
-        len = strlen(pstr) + 1;
+        len = strlen(SPIF_CHARPTR_C(pstr)) + 1;
         if ((slist[cnt] = SPIF_CAST(charptr) MALLOC(len)) == NULL) {
             libast_print_error("split():  Unable to allocate memory -- %s.\n", 
strerror(errno));
             return ((spif_charptr_t *) NULL);
@@ -413,13 +413,14 @@
         *pdest = 0;
 
         /* Reallocate the new string to be just the right size. */
-        len = strlen(slist[cnt]) + 1;
+        len = strlen(SPIF_CHARPTR_C(slist[cnt])) + 1;
         slist[cnt] = SPIF_CAST(charptr) REALLOC(slist[cnt], len);
 
         /* Move past any trailing "whitespace." */
         for (; *pstr && IS_DELIM(*pstr); pstr++);
     }
     if (cnt == 0) {
+        FREE(slist);
         return NULL;
     } else {
         /* The last element of slist[] should be NULL. */
@@ -444,21 +445,22 @@
     spif_charptr_t new_str;
 
     ASSERT_RVAL(slist != SPIF_NULL_TYPE(ptr), SPIF_NULL_TYPE(ptr));
+    REQUIRE_RVAL(*slist != SPIF_NULL_TYPE(ptr), SPIF_NULL_TYPE(ptr));
     if (sep == NULL) {
-        sep = "";
+        sep = SPIF_CHARPTR("");
     }
-    slen = strlen(sep);
+    slen = strlen(SPIF_CHARPTR_C(sep));
     for (i = len = 0; slist[i]; i++) {
-        len += strlen(slist[i]);
+        len += strlen(SPIF_CHARPTR_C(slist[i]));
     }
     len += slen * (i - 1);
     new_str = SPIF_CAST(charptr) MALLOC(len);
-    strcpy(new_str, slist[0]);
+    strcpy(SPIF_CHARPTR_C(new_str), SPIF_CHARPTR_C(slist[0]));
     for (i = 1; slist[i]; i++) {
         if (slen) {
-            strcat(new_str, sep);
+            strcat(SPIF_CHARPTR_C(new_str), SPIF_CHARPTR_C(sep));
         }
-        strcat(new_str, slist[i]);
+        strcat(SPIF_CHARPTR_C(new_str), SPIF_CHARPTR_C(slist[i]));
     }
     return new_str;
 }
@@ -475,7 +477,7 @@
     register unsigned long i, j, k;
 
     ASSERT_RVAL(str != SPIF_NULL_TYPE(ptr), SPIF_NULL_TYPE(ptr));
-    k = strlen(str) + 1;
+    k = strlen(SPIF_CHARPTR_C(str)) + 1;
     if ((tmpstr = SPIF_CAST(charptr) MALLOC(k)) == NULL) {
         libast_print_error("get_word(%lu, %s):  Unable to allocate memory -- %s.\n", 
index, str, strerror(errno));
         return (SPIF_CAST(charptr) NULL);
@@ -517,7 +519,7 @@
         D_STRINGS(("get_word(%lu, %s) returning NULL.\n", index, str));
         return (SPIF_CAST(charptr) NULL);
     } else {
-        tmpstr = SPIF_CAST(charptr) REALLOC(tmpstr, strlen(tmpstr) + 1);
+        tmpstr = SPIF_CAST(charptr) REALLOC(tmpstr, strlen(SPIF_CHARPTR_C(tmpstr)) + 
1);
         D_STRINGS(("get_word(%lu, %s) returning \"%s\".\n", index, str, tmpstr));
         return (tmpstr);
     }
@@ -593,8 +595,10 @@
     register spif_charptr_t front, back;
 
     ASSERT_RVAL(s != NULL, NULL);
+    REQUIRE_RVAL(*s, s);
+
     for (front = s; *front && isspace(*front); front++);
-    for (back = s + strlen(s) - 1; *back && isspace(*back) && back > front; back--);
+    for (back = s + strlen(SPIF_CHARPTR_C(s)) - 1; *back && isspace(*back) && back > 
front; back--);
 
     *(++back) = 0;
     if (front != s) {
@@ -604,22 +608,6 @@
 }
 
 spif_charptr_t 
-spiftool_strip_whitespace(register spif_charptr_t str)
-{
-    register unsigned long i, j;
-
-    ASSERT_RVAL(str != NULL, NULL);
-    if ((j = strlen(str))) {
-        for (i = j - 1; isspace(*(str + i)); i--);
-        str[j = i + 1] = 0;
-        for (i = 0; isspace(*(str + i)); i++);
-        j -= i;
-        memmove(str, str + i, j + 1);
-    }
-    return (str);
-}
-
-spif_charptr_t 
 spiftool_downcase_str(spif_charptr_t str)
 {
     register spif_charptr_t tmp;
@@ -671,7 +659,7 @@
         pbuff--;
     *pbuff = 0;
     D_STRINGS(("condense_whitespace() returning \"%s\".\n", s));
-    return (SPIF_CAST(charptr) REALLOC(s, strlen(s) + 1));
+    return (SPIF_CAST(charptr) REALLOC(s, strlen(SPIF_CHARPTR_C(s)) + 1));
 }
 
 spif_charptr_t 
@@ -694,12 +682,12 @@
 {
     register unsigned long j, k, l;
     register spif_charptr_t ptr;
-    unsigned char buffr[9];
+    spif_char_t buffr[9];
 
     ASSERT(buff != SPIF_NULL_TYPE(ptr));
     fprintf(stderr, "  Address  |  Size  | Offset  | 00 01 02 03 04 05 06 07 |  ASCII 
 \n");
     fprintf(stderr, 
"-----------+--------+---------+-------------------------+---------\n");
-    for (ptr = (unsigned char *) buff, j = 0; j < count; j += 8) {
+    for (ptr = buff, j = 0; j < count; j += 8) {
         fprintf(stderr, " %10p | %06lu | %07x | ", buff, (unsigned long) count, 
(unsigned int) j);
         l = ((count - j < 8) ? (count - j) : (8));
         memcpy(buffr, ptr + j, l);
@@ -739,26 +727,26 @@
             spiftool_downcase_str(buff2);
 
             /* Some strings require special handling. */
-            if (!strcmp(buff1, "snap")) {
+            if (!strcmp(SPIF_CHARPTR_C(buff1), "snap")) {
                 ival1 = 1;
-            } else if (!strcmp(buff1, "pre")) {
+            } else if (!strcmp(SPIF_CHARPTR_C(buff1), "pre")) {
                 ival1 = 2;
-            } else if (!strcmp(buff1, "alpha")) {
+            } else if (!strcmp(SPIF_CHARPTR_C(buff1), "alpha")) {
                 ival1 = 3;
-            } else if (!strcmp(buff1, "beta")) {
+            } else if (!strcmp(SPIF_CHARPTR_C(buff1), "beta")) {
                 ival1 = 4;
-            } else if (!strcmp(buff1, "rc")) {
+            } else if (!strcmp(SPIF_CHARPTR_C(buff1), "rc")) {
                 ival1 = 5;
             }
-            if (!strcmp(buff2, "snap")) {
+            if (!strcmp(SPIF_CHARPTR_C(buff2), "snap")) {
                 ival2 = 1;
-            } else if (!strcmp(buff2, "pre")) {
+            } else if (!strcmp(SPIF_CHARPTR_C(buff2), "pre")) {
                 ival2 = 2;
-            } else if (!strcmp(buff2, "alpha")) {
+            } else if (!strcmp(SPIF_CHARPTR_C(buff2), "alpha")) {
                 ival2 = 3;
-            } else if (!strcmp(buff2, "beta")) {
+            } else if (!strcmp(SPIF_CHARPTR_C(buff2), "beta")) {
                 ival2 = 4;
-            } else if (!strcmp(buff2, "rc")) {
+            } else if (!strcmp(SPIF_CHARPTR_C(buff2), "rc")) {
                 ival2 = 5;
             }
             if (ival1 != ival2) {
@@ -768,7 +756,7 @@
                 int c;
 
                 /* Two arbitrary strings.  Compare them too. */
-                if ((c = strcmp(buff1, buff2)) != 0) {
+                if ((c = strcmp(SPIF_CHARPTR_C(buff1), SPIF_CHARPTR_C(buff2))) != 0) {
                     return SPIF_CMP_FROM_INT(c);
                 }
             }
@@ -783,8 +771,8 @@
             *p1 = *p2 = 0;
 
             /* Convert the strings into actual integers. */
-            ival1 = SPIF_CAST(int32) strtol(buff1, (char **) NULL, 10);
-            ival2 = SPIF_CAST(int32) strtol(buff2, (char **) NULL, 10);
+            ival1 = SPIF_CAST(int32) strtol(SPIF_CHARPTR_C(buff1), (char **) NULL, 
10);
+            ival2 = SPIF_CAST(int32) strtol(SPIF_CHARPTR_C(buff2), (char **) NULL, 
10);
 
             /* Compare the integers and return if not equal. */
             c = SPIF_CMP_FROM_INT(ival1 - ival2);
@@ -800,26 +788,26 @@
             for (; !isalnum(*v2); v2++, p2++) *p2 = *v2;
             *p1 = *p2 = 0;
 
-            c = SPIF_CMP_FROM_INT(strcasecmp(buff1, buff2));
+            c = SPIF_CMP_FROM_INT(strcasecmp(SPIF_CHARPTR_C(buff1), 
SPIF_CHARPTR_C(buff2)));
             if (!SPIF_CMP_IS_EQUAL(c)) {
                 return c;
             }
         } else {
-            return SPIF_CMP_FROM_INT(strcasecmp(buff1, buff2));
+            return SPIF_CMP_FROM_INT(strcasecmp(SPIF_CHARPTR_C(buff1), 
SPIF_CHARPTR_C(buff2)));
         }
     }
 
     /* We've reached the end of one of the strings. */
     if (*v1) {
-        if (!BEG_STRCASECMP(v1, "snap") || !BEG_STRCASECMP(v1, "pre")
-            || !BEG_STRCASECMP(v1, "alpha") || !BEG_STRCASECMP(v1, "beta")) {
+        if (!BEG_STRCASECMP(SPIF_CHARPTR_C(v1), "snap") || 
!BEG_STRCASECMP(SPIF_CHARPTR_C(v1), "pre")
+            || !BEG_STRCASECMP(SPIF_CHARPTR_C(v1), "alpha") || 
!BEG_STRCASECMP(SPIF_CHARPTR_C(v1), "beta")) {
             return SPIF_CMP_LESS;
         } else {
             return SPIF_CMP_GREATER;
         }
     } else if (*v2) {
-        if (!BEG_STRCASECMP(v2, "snap") || !BEG_STRCASECMP(v2, "pre")
-            || !BEG_STRCASECMP(v2, "alpha") || !BEG_STRCASECMP(v2, "beta")) {
+        if (!BEG_STRCASECMP(SPIF_CHARPTR_C(v2), "snap") || 
!BEG_STRCASECMP(SPIF_CHARPTR_C(v2), "pre")
+            || !BEG_STRCASECMP(SPIF_CHARPTR_C(v2), "alpha") || 
!BEG_STRCASECMP(SPIF_CHARPTR_C(v2), "beta")) {
             return SPIF_CMP_GREATER;
         } else {
             return SPIF_CMP_LESS;
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/tok.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- tok.c       20 Jul 2004 22:32:08 -0000      1.21
+++ tok.c       23 Jul 2004 21:38:39 -0000      1.22
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: tok.c,v 1.21 2004/07/20 22:32:08 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: tok.c,v 1.22 2004/07/23 
21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -212,31 +212,33 @@
     }
 
     memset(tmp, ' ', indent);
-    snprintf(tmp + indent, sizeof(tmp) - indent, "(spif_tok_t) %s:  %10p {\n", name, 
self);
+    snprintf(SPIF_CHARPTR_C(tmp) + indent, sizeof(tmp) - indent,
+             "(spif_tok_t) %s:  %10p {\n",
+             name, SPIF_CAST(ptr) self);
     if (SPIF_STR_ISNULL(buff)) {
         buff = spif_str_new_from_ptr(tmp);
     } else {
         spif_str_append_from_ptr(buff, tmp);
     }
-    buff = spif_str_show(SPIF_STR(self->src), "src", buff, indent + 2);
-    buff = spif_str_show(SPIF_STR(self->sep), "sep", buff, indent + 2);
+    buff = spif_str_show(SPIF_STR(self->src), SPIF_CHARPTR("src"), buff, indent + 2);
+    buff = spif_str_show(SPIF_STR(self->sep), SPIF_CHARPTR("sep"), buff, indent + 2);
 
     indent += 2;
     memset(tmp, ' ', indent);
-    snprintf(tmp + indent, sizeof(tmp) - indent, "(spif_char_t) quote:  '%c' 
(0x%02x)\n",
+    snprintf(SPIF_CHARPTR_C(tmp) + indent, sizeof(tmp) - indent, "(spif_char_t) 
quote:  '%c' (0x%02x)\n",
              (char) self->quote, (unsigned int) self->quote);
     spif_str_append_from_ptr(buff, tmp);
-    snprintf(tmp + indent, sizeof(tmp) - indent, "(spif_char_t) dquote:  '%c' 
(0x%02x)\n",
+    snprintf(SPIF_CHARPTR_C(tmp) + indent, sizeof(tmp) - indent, "(spif_char_t) 
dquote:  '%c' (0x%02x)\n",
              (char) self->dquote, (unsigned int) self->dquote);
     spif_str_append_from_ptr(buff, tmp);
-    snprintf(tmp + indent, sizeof(tmp) - indent, "(spif_char_t) escape:  '%c' 
(0x%02x)\n",
+    snprintf(SPIF_CHARPTR_C(tmp) + indent, sizeof(tmp) - indent, "(spif_char_t) 
escape:  '%c' (0x%02x)\n",
              (char) self->escape, (unsigned int) self->escape);
     spif_str_append_from_ptr(buff, tmp);
 
     SPIF_LIST_SHOW(self->tokens, buff, indent);
     indent -= 2;
 
-    snprintf(tmp + indent, sizeof(tmp) - indent, "}\n");
+    snprintf(SPIF_CHARPTR_C(tmp) + indent, sizeof(tmp) - indent, "}\n");
     spif_str_append_from_ptr(buff, tmp);
     return buff;
 }
@@ -305,7 +307,7 @@
     /* The outermost for loop is where we traverse the string.  Each new
        word brings us back to the top where we resize our string list. */
     for (quote = 0; *pstr; ) {
-        tmp = spif_str_new_from_buff("", len);
+        tmp = spif_str_new_from_buff(SPIF_CHARPTR(""), len);
         spif_str_clear(tmp, 0);
 
         /* This for loop is where we process each character. */
@@ -347,9 +349,9 @@
     return TRUE;
 }
 
-SPIF_DEFINE_PROPERTY_FUNC(tok, str, src);
-SPIF_DEFINE_PROPERTY_FUNC_NONOBJ(tok, char, quote);
-SPIF_DEFINE_PROPERTY_FUNC_NONOBJ(tok, char, dquote);
-SPIF_DEFINE_PROPERTY_FUNC_NONOBJ(tok, char, escape);
-SPIF_DEFINE_PROPERTY_FUNC(tok, str, sep);
-SPIF_DEFINE_PROPERTY_FUNC(tok, list, tokens);
+SPIF_DEFINE_PROPERTY_FUNC(tok, str, src)
+SPIF_DEFINE_PROPERTY_FUNC_NONOBJ(tok, char, quote)
+SPIF_DEFINE_PROPERTY_FUNC_NONOBJ(tok, char, dquote)
+SPIF_DEFINE_PROPERTY_FUNC_NONOBJ(tok, char, escape)
+SPIF_DEFINE_PROPERTY_FUNC(tok, str, sep)
+SPIF_DEFINE_PROPERTY_FUNC(tok, list, tokens)
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/src/url.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- url.c       20 Jul 2004 22:32:08 -0000      1.19
+++ url.c       23 Jul 2004 21:38:39 -0000      1.20
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-static const char cvs_ident[] = "$Id: url.c,v 1.19 2004/07/20 22:32:08 mej Exp $";
+static const char __attribute__((unused)) cvs_ident[] = "$Id: url.c,v 1.20 2004/07/23 
21:38:39 mej Exp $";
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -197,22 +197,24 @@
     }
 
     memset(tmp, ' ', indent);
-    snprintf(tmp + indent, sizeof(tmp) - indent, "(spif_url_t) %s:  %10p {\n", name, 
self);
+    snprintf(SPIF_CHARPTR_C(tmp) + indent, sizeof(tmp) - indent,
+             "(spif_url_t) %s:  %10p {\n",
+             name, SPIF_CAST(ptr) self);
     if (SPIF_STR_ISNULL(buff)) {
         buff = spif_str_new_from_ptr(tmp);
     } else {
         spif_str_append_from_ptr(buff, tmp);
     }
 
-    buff = spif_str_show(self->proto, "proto", buff, indent + 2);
-    buff = spif_str_show(self->user, "user", buff, indent + 2);
-    buff = spif_str_show(self->passwd, "passwd", buff, indent + 2);
-    buff = spif_str_show(self->host, "host", buff, indent + 2);
-    buff = spif_str_show(self->port, "port", buff, indent + 2);
-    buff = spif_str_show(self->path, "path", buff, indent + 2);
-    buff = spif_str_show(self->query, "query", buff, indent + 2);
+    buff = spif_str_show(self->proto, SPIF_CHARPTR("proto"), buff, indent + 2);
+    buff = spif_str_show(self->user, SPIF_CHARPTR("user"), buff, indent + 2);
+    buff = spif_str_show(self->passwd, SPIF_CHARPTR("passwd"), buff, indent + 2);
+    buff = spif_str_show(self->host, SPIF_CHARPTR("host"), buff, indent + 2);
+    buff = spif_str_show(self->port, SPIF_CHARPTR("port"), buff, indent + 2);
+    buff = spif_str_show(self->path, SPIF_CHARPTR("path"), buff, indent + 2);
+    buff = spif_str_show(self->query, SPIF_CHARPTR("query"), buff, indent + 2);
 
-    snprintf(tmp + indent, sizeof(tmp) - indent, "}\n");
+    snprintf(SPIF_CHARPTR_C(tmp) + indent, sizeof(tmp) - indent, "}\n");
     spif_str_append_from_ptr(buff, tmp);
     return buff;
 }
@@ -241,25 +243,25 @@
     return SPIF_OBJ_CLASSNAME(self);
 }
 
-SPIF_DEFINE_PROPERTY_FUNC(url, str, proto);
-SPIF_DEFINE_PROPERTY_FUNC(url, str, user);
-SPIF_DEFINE_PROPERTY_FUNC(url, str, passwd);
-SPIF_DEFINE_PROPERTY_FUNC(url, str, host);
-SPIF_DEFINE_PROPERTY_FUNC(url, str, port);
-SPIF_DEFINE_PROPERTY_FUNC(url, str, path);
-SPIF_DEFINE_PROPERTY_FUNC(url, str, query);
+SPIF_DEFINE_PROPERTY_FUNC(url, str, proto)
+SPIF_DEFINE_PROPERTY_FUNC(url, str, user)
+SPIF_DEFINE_PROPERTY_FUNC(url, str, passwd)
+SPIF_DEFINE_PROPERTY_FUNC(url, str, host)
+SPIF_DEFINE_PROPERTY_FUNC(url, str, port)
+SPIF_DEFINE_PROPERTY_FUNC(url, str, path)
+SPIF_DEFINE_PROPERTY_FUNC(url, str, query)
 
 static spif_bool_t
 spif_url_parse(spif_url_t self)
 {
-    const char *s = SPIF_STR_STR(SPIF_STR(self));
-    const char *pstr, *pend, *ptmp;
+    spif_charptr_t s = SPIF_STR_STR(SPIF_STR(self));
+    spif_charptr_t pstr, pend, ptmp;
 
     ASSERT_RVAL(!SPIF_URL_ISNULL(self), FALSE);
     pstr = s;
 
     /* Check for "proto:" at the beginning. */
-    pend = strchr(s, ':');
+    pend = SPIF_CHARPTR(strchr(SPIF_CHARPTR_C(s), ':'));
     if (pend != NULL) {
         for (; pstr < pend; pstr++) {
             if (!isalnum(*pstr)) {
@@ -268,7 +270,7 @@
         }
         if (pstr == pend) {
             /* Got one. */
-            self->proto = spif_str_new_from_buff(SPIF_CAST(charptr) s, pend - s);
+            self->proto = spif_str_new_from_buff(s, pend - s);
             pstr++;
         } else {
             /* Nope, reset. */
@@ -281,45 +283,45 @@
     }
 
     /* Knock out the path and query if they're there. */
-    pend = strchr(pstr, '/');
+    pend = SPIF_CHARPTR(strchr(SPIF_CHARPTR_C(pstr), '/'));
     if (pend != NULL) {
-        char *tmp = strchr(pend, '?');
+        spif_charptr_t tmp = SPIF_CHARPTR(strchr(SPIF_CHARPTR_C(pend), '?'));
 
         if (tmp != NULL) {
-            self->query = spif_str_new_from_ptr(SPIF_CAST(charptr) (tmp + 1));
-            self->path = spif_str_new_from_buff(SPIF_CAST(charptr) pend, tmp - pend);
+            self->query = spif_str_new_from_ptr(tmp + 1);
+            self->path = spif_str_new_from_buff(pend, tmp - pend);
         } else {
-          self->path = spif_str_new_from_ptr(SPIF_CAST(charptr) pend);
+          self->path = spif_str_new_from_ptr(pend);
         }
-    } else if ((pend = strchr(pstr, '?')) != NULL) {
-        self->query = spif_str_new_from_ptr(SPIF_CAST(charptr) (pend + 1));
+    } else if ((pend = SPIF_CHARPTR(strchr(SPIF_CHARPTR_C(pstr), '?'))) != NULL) {
+        self->query = spif_str_new_from_ptr(pend + 1);
     } else {
         for (pend = pstr; *pend; pend++);
     }
     /* At this point, pend *must* point to the end of the user/pass/host/port part. */
 
     /* Check for an @ sign, which would mean we have auth info. */
-    ptmp = strchr(pstr, '@');
+    ptmp = SPIF_CHARPTR(strchr(SPIF_CHARPTR_C(pstr), '@'));
     if ((ptmp != NULL) && (ptmp < pend)) {
-        char *tmp = strchr(pstr, ':');
+        spif_charptr_t tmp = SPIF_CHARPTR(strchr(SPIF_CHARPTR_C(pstr), ':'));
 
         if ((tmp != NULL) && (tmp < ptmp)) {
             /* Both username and password. */
-            self->user = spif_str_new_from_buff(SPIF_CAST(charptr) pstr, tmp - pstr);
-            self->passwd = spif_str_new_from_buff(SPIF_CAST(charptr) (tmp + 1), ptmp 
- tmp - 1);
+            self->user = spif_str_new_from_buff(pstr, tmp - pstr);
+            self->passwd = spif_str_new_from_buff((tmp + 1), ptmp - tmp - 1);
         } else {
-            self->user = spif_str_new_from_buff(SPIF_CAST(charptr) pstr, ptmp - pstr);
+            self->user = spif_str_new_from_buff(pstr, ptmp - pstr);
         }
         pstr = ptmp + 1;
     }
 
     /* All that remains now between pstr and pend is host and maybe port. */
-    ptmp = strchr(pstr, ':');
+    ptmp = SPIF_CHARPTR(strchr(SPIF_CHARPTR_C(pstr), ':'));
     if ((ptmp != NULL) && (ptmp < pend)) {
-        self->host = spif_str_new_from_buff(SPIF_CAST(charptr) pstr, ptmp - pstr);
-        self->port = spif_str_new_from_buff(SPIF_CAST(charptr) (ptmp + 1), pend - 
ptmp - 1);
+        self->host = spif_str_new_from_buff(pstr, ptmp - pstr);
+        self->port = spif_str_new_from_buff((ptmp + 1), pend - ptmp - 1);
     } else if (pstr != pend) {
-        self->host = spif_str_new_from_buff(SPIF_CAST(charptr) pstr, pend - pstr);
+        self->host = spif_str_new_from_buff(pstr, pend - pstr);
     }
 
     /* If we have a proto but no port, see if we can resolve the port using the 
proto. */
@@ -327,12 +329,12 @@
         spif_protoinfo_t proto;
         spif_servinfo_t serv;
 
-        proto = getprotobyname(SPIF_STR_STR(self->proto));
+        proto = getprotobyname(SPIF_CHARPTR_C(SPIF_STR_STR(self->proto)));
         if (proto == NULL) {
             /* If it's not a protocol, it's probably a service. */
-            serv = getservbyname(SPIF_STR_STR(self->proto), "tcp");
+            serv = getservbyname(SPIF_CHARPTR_C(SPIF_STR_STR(self->proto)), "tcp");
             if (serv == NULL) {
-                serv = getservbyname(SPIF_STR_STR(self->proto), "udp");
+                serv = getservbyname(SPIF_CHARPTR_C(SPIF_STR_STR(self->proto)), 
"udp");
             }
             if (serv != NULL) {
                 proto = getprotobyname(serv->s_proto);
@@ -340,9 +342,9 @@
             }
         }
         if (proto != NULL) {
-            char buff[32];
+            spif_char_t buff[32];
 
-            snprintf(buff, sizeof(buff), "%d", ntohs(serv->s_port));
+            snprintf(SPIF_CHARPTR_C(buff), sizeof(buff), "%d", ntohs(serv->s_port));
             self->port = spif_str_new_from_ptr(buff);
         }
     }
@@ -353,53 +355,50 @@
 spif_bool_t
 spif_url_unparse(spif_url_t self)
 {
-    spif_str_t tmp_str;
-
     ASSERT_RVAL(!SPIF_URL_ISNULL(self), FALSE);
-    tmp_str = spif_str_new_from_buff(SPIF_NULL_TYPE(charptr), 128);
+    spif_str_done(SPIF_STR(self));
+    spif_str_init_from_ptr(SPIF_STR(self), SPIF_CHARPTR(""));
 
     /* First, proto followed by a colon. */
     if (!SPIF_STR_ISNULL(self->proto)) {
-        spif_str_append(tmp_str, self->proto);
-        spif_str_append_char(tmp_str, ':');
+        spif_str_append(SPIF_STR(self), self->proto);
+        spif_str_append_char(SPIF_STR(self), ':');
     }
 
     /* If we have a port but no host, make it localhost. */
     if (!SPIF_STR_ISNULL(self->port) && SPIF_STR_ISNULL(self->host)) {
-        self->host = spif_str_new_from_ptr("localhost");
+        self->host = spif_str_new_from_ptr(SPIF_CHARPTR("localhost"));
     }
 
     /* We need the // if we have a hostname. */
     if (!SPIF_STR_ISNULL(self->host)) {
-        spif_str_append_from_ptr(tmp_str, "//");
+        spif_str_append_from_ptr(SPIF_STR(self), SPIF_CHARPTR("//"));
     }
 
     if (!SPIF_STR_ISNULL(self->user)) {
-        spif_str_append(tmp_str, self->user);
+        spif_str_append(SPIF_STR(self), self->user);
         if (!SPIF_STR_ISNULL(self->passwd)) {
-            spif_str_append_char(tmp_str, ':');
-            spif_str_append(tmp_str, self->passwd);
+            spif_str_append_char(SPIF_STR(self), ':');
+            spif_str_append(SPIF_STR(self), self->passwd);
         }
-        spif_str_append_char(tmp_str, '@');
+        spif_str_append_char(SPIF_STR(self), '@');
     }
 
     if (!SPIF_STR_ISNULL(self->host)) {
-        spif_str_append(tmp_str, self->host);
+        spif_str_append(SPIF_STR(self), self->host);
         if (!SPIF_STR_ISNULL(self->port)) {
-            spif_str_append_char(tmp_str, ':');
-            spif_str_append(tmp_str, self->port);
+            spif_str_append_char(SPIF_STR(self), ':');
+            spif_str_append(SPIF_STR(self), self->port);
         }
     }
 
     if (!SPIF_STR_ISNULL(self->path)) {
-        spif_str_append(tmp_str, self->path);
+        spif_str_append(SPIF_STR(self), self->path);
     }
 
     if (!SPIF_STR_ISNULL(self->query)) {
-        spif_str_append_char(tmp_str, '?');
-        spif_str_append(tmp_str, self->query);
+        spif_str_append_char(SPIF_STR(self), '?');
+        spif_str_append(SPIF_STR(self), self->query);
     }
-
-    SPIF_STR(self) = tmp_str;
     return TRUE;
 }




-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to