Enlightenment CVS committal Author : mej Project : eterm Module : libast
Dir : eterm/libast/src Modified Files: array.c str.c Log Message: Thu Oct 30 18:12:35 2003 Michael Jennings (mej) Added support for object "properties." A property is a member variable with corresponding get/set methods. I'll probably flesh this out more as I use it more. =================================================================== RCS file: /cvsroot/enlightenment/eterm/libast/src/array.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- array.c 19 Feb 2003 21:10:31 -0000 1.7 +++ array.c 30 Oct 2003 23:13:53 -0000 1.8 @@ -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.7 2003/02/19 21:10:31 mej Exp $"; +static const char cvs_ident[] = "$Id: array.c,v 1.8 2003/10/30 23:13:53 mej Exp $"; #ifdef HAVE_CONFIG_H # include <config.h> @@ -129,7 +129,7 @@ spif_obj_init(SPIF_OBJ(self)); spif_obj_set_class(SPIF_OBJ(self), SPIF_CLASS(SPIF_LISTCLASS_VAR(array))); self->len = 0; - self->items = SPIF_NULL_CTYPE(spif_obj_t *); + self->items = SPIF_NULL_TYPE_C(spif_obj_t *); return TRUE; } @@ -149,7 +149,7 @@ spif_obj_init(SPIF_OBJ(self)); spif_obj_set_class(SPIF_OBJ(self), SPIF_CLASS(SPIF_VECTORCLASS_VAR(array))); self->len = 0; - self->items = SPIF_NULL_CTYPE(spif_obj_t *); + self->items = SPIF_NULL_TYPE_C(spif_obj_t *); return TRUE; } @@ -191,7 +191,7 @@ } if (SPIF_ARRAY_ISNULL(self->items)) { - spif_str_append_from_ptr(buff, SPIF_NULLSTR_CTYPE(spif_obj_t *)); + spif_str_append_from_ptr(buff, SPIF_NULLSTR_TYPE_C(spif_obj_t *)); } else { for (i = 0; i < self->len; i++) { spif_obj_t o = self->items[i]; =================================================================== RCS file: /cvsroot/enlightenment/eterm/libast/src/str.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- str.c 4 Jul 2003 03:38:26 -0000 1.19 +++ str.c 30 Oct 2003 23:13:53 -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: str.c,v 1.19 2003/07/04 03:38:26 mej Exp $"; +static const char cvs_ident[] = "$Id: str.c,v 1.20 2003/10/30 23:13:53 mej Exp $"; #ifdef HAVE_CONFIG_H # include <config.h> @@ -122,7 +122,7 @@ spif_obj_set_class(SPIF_OBJ(self), SPIF_CLASS_VAR(str)); self->s = SPIF_NULL_TYPE(charptr); self->len = 0; - self->mem = 0; + self->size = 0; return TRUE; } @@ -132,9 +132,9 @@ spif_obj_init(SPIF_OBJ(self)); spif_obj_set_class(SPIF_OBJ(self), SPIF_CLASS_VAR(str)); self->len = strlen(SPIF_CONST_CAST_C(char *) old); - self->mem = self->len + 1; - self->s = SPIF_CAST(charptr) MALLOC(self->mem); - memcpy(self->s, old, self->mem); + self->size = self->len + 1; + self->s = SPIF_CAST(charptr) MALLOC(self->size); + memcpy(self->s, old, self->size); return TRUE; } @@ -143,16 +143,16 @@ { spif_obj_init(SPIF_OBJ(self)); spif_obj_set_class(SPIF_OBJ(self), SPIF_CLASS_VAR(str)); - self->mem = size; + self->size = size; if (buff != SPIF_NULL_TYPE(charptr)) { self->len = strnlen(SPIF_CONST_CAST_C(char *) buff, size); } else { self->len = 0; } - if (self->mem == self->len) { - self->mem++; + if (self->size == self->len) { + self->size++; } - self->s = SPIF_CAST(charptr) MALLOC(self->mem); + self->s = SPIF_CAST(charptr) MALLOC(self->size); if (buff != SPIF_NULL_TYPE(charptr)) { memcpy(self->s, buff, self->len); } @@ -167,15 +167,15 @@ spif_obj_init(SPIF_OBJ(self)); spif_obj_set_class(SPIF_OBJ(self), SPIF_CLASS_VAR(str)); - self->mem = buff_inc; + self->size = buff_inc; self->len = 0; - self->s = SPIF_CAST(charptr) MALLOC(self->mem); + self->s = SPIF_CAST(charptr) MALLOC(self->size); for (p = self->s; fgets(SPIF_CAST_C(char *)p, buff_inc, fp); p += buff_inc) { if ((end = SPIF_CAST(charptr) strchr(SPIF_CONST_CAST_C(char *)p, '\n')) == NULL) { - self->mem += buff_inc; - self->s = SPIF_CAST(charptr) REALLOC(self->s, self->mem); + self->size += buff_inc; + self->s = SPIF_CAST(charptr) REALLOC(self->s, self->size); } else { *end = 0; break; @@ -184,8 +184,8 @@ self->len = (size_t) ((end) ? (end - self->s) : ((int) strlen(SPIF_CONST_CAST_C(char *)self->s))); - self->mem = self->len + 1; - self->s = SPIF_CAST(charptr) REALLOC(self->s, self->mem); + self->size = self->len + 1; + self->s = SPIF_CAST(charptr) REALLOC(self->s, self->size); return TRUE; } @@ -197,18 +197,18 @@ spif_obj_init(SPIF_OBJ(self)); spif_obj_set_class(SPIF_OBJ(self), SPIF_CLASS_VAR(str)); - self->mem = buff_inc; + self->size = buff_inc; self->len = 0; - self->s = SPIF_CAST(charptr) MALLOC(self->mem); + self->s = SPIF_CAST(charptr) MALLOC(self->size); for (p = self->s; ((n = read(fd, p, buff_inc)) > 0) || (errno == EINTR);) { - self->mem += n; - self->s = SPIF_CAST(charptr) REALLOC(self->s, self->mem); + self->size += n; + self->s = SPIF_CAST(charptr) REALLOC(self->s, self->size); p += n; } - self->len = self->mem - buff_inc; - self->mem = self->len + 1; - self->s = SPIF_CAST(charptr) REALLOC(self->s, self->mem); + self->len = self->size - buff_inc; + self->size = self->len + 1; + self->s = SPIF_CAST(charptr) REALLOC(self->s, self->size); self->s[self->len] = 0; return TRUE; } @@ -223,8 +223,8 @@ snprintf(buff, sizeof(buff), "%ld", num); self->len = strlen(buff); - self->mem = self->len + 1; - self->s = SPIF_CAST(charptr) MALLOC(self->mem); + self->size = self->len + 1; + self->s = SPIF_CAST(charptr) MALLOC(self->size); strcpy(self->s, buff); return TRUE; @@ -234,10 +234,10 @@ spif_str_done(spif_str_t self) { REQUIRE_RVAL(!SPIF_STR_ISNULL(self), FALSE); - if (self->mem) { + if (self->size) { FREE(self->s); self->len = 0; - self->mem = 0; + self->size = 0; self->s = SPIF_NULL_TYPE(charptr); } return TRUE; @@ -253,7 +253,7 @@ memcpy(self, orig, SPIF_SIZEOF_TYPE(str)); self->s = SPIF_CAST(charptr) STRDUP(SPIF_CONST_CAST_C(char *) SPIF_STR_STR(orig)); self->len = orig->len; - self->mem = orig->mem; + self->size = orig->size; return self; } @@ -363,8 +363,8 @@ spif_bool_t spif_str_append(spif_str_t self, spif_str_t other) { - self->mem += other->mem - 1; - self->s = SPIF_CAST(charptr) REALLOC(self->s, self->mem); + self->size += other->size - 1; + self->s = SPIF_CAST(charptr) REALLOC(self->s, self->size); memcpy(self->s + self->len, SPIF_STR_STR(other), other->len + 1); self->len += other->len; return TRUE; @@ -374,9 +374,9 @@ spif_str_append_char(spif_str_t self, spif_char_t c) { self->len++; - if (self->mem <= self->len) { - self->mem++; - self->s = SPIF_CAST(charptr) REALLOC(self->s, self->mem); + if (self->size <= self->len) { + 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] = 0; @@ -389,8 +389,8 @@ size_t len; len = strlen(SPIF_CONST_CAST_C(char *) other); - self->mem += len; - self->s = SPIF_CAST(charptr) REALLOC(self->s, self->mem); + self->size += len; + self->s = SPIF_CAST(charptr) REALLOC(self->s, self->size); memcpy(self->s + self->len, other, len + 1); self->len += len; return TRUE; @@ -399,7 +399,7 @@ spif_bool_t spif_str_clear(spif_str_t self, spif_char_t c) { - memset(self->s, c, self->mem); + memset(self->s, c, self->size); self->s[self->len] = 0; return TRUE; } @@ -418,9 +418,9 @@ } *(++end) = 0; self->len = (size_t) (end - start); - self->mem = self->len + 1; - memmove(self->s, start, self->mem); - self->s = SPIF_CAST(charptr) REALLOC(self->s, self->mem); + self->size = self->len + 1; + memmove(self->s, start, self->size); + self->s = SPIF_CAST(charptr) REALLOC(self->s, self->size); return TRUE; } @@ -439,9 +439,9 @@ ptmp += other->len; } memcpy(ptmp, self->s + idx + cnt, self->len - idx - cnt + 1); - if (self->mem < newsize) { + if (self->size < newsize) { self->s = SPIF_CAST(charptr) REALLOC(self->s, newsize); - self->mem = newsize; + self->size = newsize; } self->len = newsize - 1; memcpy(self->s, tmp, newsize); @@ -465,9 +465,9 @@ ptmp += len; } memcpy(ptmp, self->s + idx + cnt, self->len - idx - cnt + 1); - if (self->mem < newsize) { + if (self->size < newsize) { self->s = SPIF_CAST(charptr) REALLOC(self->s, newsize); - self->mem = newsize; + self->size = newsize; } self->len = newsize - 1; memcpy(self->s, tmp, newsize); @@ -481,51 +481,8 @@ return ((strrev(SPIF_CAST_C(char *) self->s)) ? TRUE : FALSE); } -size_t -spif_str_get_size(spif_str_t self) -{ - return self->mem; -} - -spif_bool_t -spif_str_set_size(spif_str_t self, size_t size) -{ - if (size < self->mem) { - return FALSE; - } else if (size == self->mem) { - return TRUE; - } - self->mem = size; - if (self->s) { - self->s = SPIF_CAST(charptr) REALLOC(self->s, size); - } else { - self->s = SPIF_CAST(charptr) MALLOC(size); - *(self->s) = 0; - self->len = 0; - } - return TRUE; -} - -size_t -spif_str_get_len(spif_str_t self) -{ - return self->len; -} - -spif_bool_t -spif_str_set_len(spif_str_t self, size_t len) -{ - /* Only a moron would use this function. */ - print_warning("spif_str_set_len() called. Moron detected.\n"); - USE_VAR(self); - USE_VAR(len); -#if DEBUG <= 4 - return FALSE; -#else - self->len = len; - return TRUE; -#endif -} +SPIF_DEFINE_PROPERTY_FUNC_C(str, size_t, size); +SPIF_DEFINE_PROPERTY_FUNC_C(str, size_t, len); spif_str_t spif_str_show(spif_str_t self, spif_charptr_t name, spif_str_t buff, size_t indent) @@ -548,7 +505,7 @@ spif_str_append(buff, self); snprintf(tmp, sizeof(tmp), "\", len %lu, size %lu }\n", (unsigned long) self->len, - (unsigned long) self->mem); + (unsigned long) self->size); spif_str_append_from_ptr(buff, tmp); return buff; } ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs