rev 443 - in trunk: include/prothon modules/DBM modules/File modules/Prosist modules/Re modules/SQLite pr src
SVN User <[email protected]> Sun, 02 May 2004 00:58:21 -0400
| Newsgroups | gmane.comp.lang.prothon.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: mark
Date: 2004-05-02 00:58:18 -0400 (Sun, 02 May 2004)
New Revision: 443
Modified:
trunk/include/prothon/prothon.h
trunk/include/prothon/prothon_dll.h
trunk/modules/DBM/DBM.c
trunk/modules/File/File.c
trunk/modules/Prosist/Prosist.c
trunk/modules/Re/Re.c
trunk/modules/SQLite/SQLite.c
trunk/pr/test.pr
trunk/src/builtins-dict.c
trunk/src/builtins-float.c
trunk/src/builtins-int.c
trunk/src/builtins-list.c
trunk/src/builtins-string.c
trunk/src/builtins-thread.c
trunk/src/builtins-tuple.c
trunk/src/parser_routines.c
Log:
cleanup, renamed bin macros
Modified: trunk/include/prothon/prothon.h
===================================================================
--- trunk/include/prothon/prothon.h 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/include/prothon/prothon.h 2004-05-02 04:58:18 UTC (rev 443)
@@ -477,7 +477,7 @@
else { (obj)->data_type = (type); \
obj_set_data_owner(ist, obj, owner); \
} if (ist->exception_obj)
-
+
// PROTO_OWNS_BINARY: Prototype owns binary data in obj
// for example, if proto is Int, then binary data is in Int format
int proto_owns_binary(isp ist, obj_p proto, obj_p obj);
Modified: trunk/include/prothon/prothon_dll.h
===================================================================
--- trunk/include/prothon/prothon_dll.h 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/include/prothon/prothon_dll.h 2004-05-02 04:58:18 UTC (rev 443)
@@ -180,7 +180,7 @@
"object has binary data, expected none"); \
return NULL; }
-#define BIN_EMPTY_OR_OK_CHK(slf) \
+#define BIN_EMPTY_OR_NOT_CHK(slf) \
if (self->data_type != DATA_TYPE_NONE) { \
if (!proto_owns_binary(ist, slf##_OBJ, self) ) { \
raise_exception(ist, OBJ(INTERNAL_EXC), \
@@ -190,7 +190,7 @@
pr_free(self->data.ptr); \
self->data_type = DATA_TYPE_NONE; }
-#define BIN_OK_CHK(slf) \
+#define BIN_CONTENT_CHK(slf) \
if (self->data_type == DATA_TYPE_NONE) { \
raise_exception(ist, OBJ(INTERNAL_EXC), \
"object has no binary data, expected %s", #slf); \
Modified: trunk/modules/DBM/DBM.c
===================================================================
--- trunk/modules/DBM/DBM.c 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/modules/DBM/DBM.c 2004-05-02 04:58:18 UTC (rev 443)
@@ -118,7 +118,7 @@
char *name, *type;
const char *used1, *used2;
- BIN_OK_CHK(DB);
+ BIN_CONTENT_CHK(DB);
STRING_PARAM(1, name);
STRING_PARAM(2, type);
@@ -182,7 +182,7 @@
apr_dbm_p db = self->data.ptr;
apr_datum_t key, value;
- BIN_OK_CHK(DB);
+ BIN_CONTENT_CHK(DB);
OPEN_CHK("fetch(key)");
STRBIN_PARAM(1, key);
@@ -200,7 +200,7 @@
apr_dbm_p db = self->data.ptr;
apr_datum_t key, value;
- BIN_OK_CHK(DB);
+ BIN_CONTENT_CHK(DB);
OPEN_CHK("store(key, value)");
STRBIN_PARAM(1, key);
STRBIN_PARAM(2, value);
@@ -216,7 +216,7 @@
apr_dbm_p db = self->data.ptr;
apr_datum_t key;
- BIN_OK_CHK(DB);
+ BIN_CONTENT_CHK(DB);
OPEN_CHK("delete(key)");
STRBIN_PARAM(1, key);
@@ -230,7 +230,7 @@
apr_dbm_p db = self->data.ptr;
apr_datum_t key;
- BIN_OK_CHK(DB);
+ BIN_CONTENT_CHK(DB);
OPEN_CHK("exists?(key)");
STRBIN_PARAM(1, key);
@@ -243,7 +243,7 @@
apr_dbm_p db = self->data.ptr;
apr_datum_t key;
- BIN_OK_CHK(DB);
+ BIN_CONTENT_CHK(DB);
OPEN_CHK("firstKey()");
aprerr = apr_dbm_firstkey(db, &key);
@@ -260,7 +260,7 @@
apr_dbm_p db = self->data.ptr;
apr_datum_t key;
- BIN_OK_CHK(DB);
+ BIN_CONTENT_CHK(DB);
OPEN_CHK("nextKey(key)");
STRBIN_PARAM(1, key);
@@ -277,7 +277,7 @@
apr_dbm_p db = self->data.ptr;
apr_datum_t data;
- BIN_OK_CHK(DB);
+ BIN_CONTENT_CHK(DB);
OPEN_CHK("freeDatum(data)");
STRBIN_PARAM(1, data);
@@ -287,7 +287,7 @@
DEF(DB, close, NULL) {
apr_dbm_p db = self->data.ptr;
- BIN_OK_CHK(DB);
+ BIN_CONTENT_CHK(DB);
if (db) apr_dbm_close(db);
self->data.ptr = NULL;
return self;
@@ -295,13 +295,13 @@
DEF(DB, closed_QUES, NULL) {
apr_dbm_p db = self->data.ptr;
- BIN_OK_CHK(DB);
+ BIN_CONTENT_CHK(DB);
if (db) return OBJ(PR_FALSE);
else return OBJ(PR_TRUE);
}
DEF(DB, __objList__, FORM_RPARAM) {
- BIN_OK_CHK(DB);
+ BIN_CONTENT_CHK(DB);
return parms[1];
}
Modified: trunk/modules/File/File.c
===================================================================
--- trunk/modules/File/File.c 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/modules/File/File.c 2004-05-02 04:58:18 UTC (rev 443)
@@ -189,7 +189,7 @@
}
DEF(File, close, NULL) {
- BIN_OK_CHK(File);
+ BIN_CONTENT_CHK(File);
if (OPEN(self)) {
apr_file_close(STREAM(self));
STREAM(self) = NULL;
@@ -199,7 +199,7 @@
}
DEF(File, closed_QUES, NULL) {
- BIN_OK_CHK(File);
+ BIN_CONTENT_CHK(File);
if (!has_proto_QUES(ist, self, File_OBJ)) {
raise_exception(ist, OBJ(TYPE_EXC), "closed can only be called on a File object");
return NULL;
@@ -209,7 +209,7 @@
}
DEF(File, flush, NULL) {
- BIN_OK_CHK(File);
+ BIN_CONTENT_CHK(File);
if (!has_proto_QUES(ist, self, File_OBJ)) {
raise_exception(ist, OBJ(TYPE_EXC), "flush can only be called on a File object");
return NULL;
@@ -226,7 +226,7 @@
}
#if 0
DEF(File, fileNo, NULL) {
- BIN_OK_CHK(File);
+ BIN_CONTENT_CHK(File);
if (!has_proto_QUES(ist, self, File_OBJ)) {
raise_exception(ist, OBJ(TYPE_EXC), "fileNo can only be called on a File object");
return NULL;
@@ -239,7 +239,7 @@
}
DEF(File, isATty_QUES, NULL) {
- BIN_OK_CHK(File);
+ BIN_CONTENT_CHK(File);
if (!OPEN(self)) {
raise_exception(ist, OBJ(IOEXCEPTION), "isatty called on closed stream");
return NULL;
@@ -258,7 +258,7 @@
char err_buf[1024];
i64_t size_in;
- BIN_OK_CHK(File);
+ BIN_CONTENT_CHK(File);
INT_64_PARAM(1, size_in);
if (!has_proto_QUES(ist, self, File_OBJ)) {
@@ -336,7 +336,7 @@
char err_buf[1024];
i64_t size_in;
- BIN_OK_CHK(File);
+ BIN_CONTENT_CHK(File);
INT_64_PARAM(1, size_in);
if (!has_proto_QUES(ist, self, File_OBJ)) {
@@ -412,7 +412,7 @@
char err_buf[1024];
i64_t size_in;
- BIN_OK_CHK(File);
+ BIN_CONTENT_CHK(File);
INT_64_PARAM(1, size_in);
if (!has_proto_QUES(ist, self, File_OBJ)) {
@@ -494,7 +494,7 @@
char err_buf[1024];
i64_t pos_in, how;
- BIN_OK_CHK(File);
+ BIN_CONTENT_CHK(File);
INT_64_PARAM(1, pos_in);
INT_64_PARAM(2, how);
@@ -526,7 +526,7 @@
}
#if 0
DEF(File, tell, NULL) {
- BIN_OK_CHK(File);
+ BIN_CONTENT_CHK(File);
if (!OPEN(self)) {
raise_exception(ist, OBJ(IOEXCEPTION), "tell called on closed file");
return NULL;
@@ -540,7 +540,7 @@
apr_off_t size;
i64_t size_in;
- BIN_OK_CHK(File);
+ BIN_CONTENT_CHK(File);
INT_64_PARAM(1, size_in);
if (!has_proto_QUES(ist, self, File_OBJ)) {
@@ -575,7 +575,7 @@
char err_buf[1024];
char* str;
- BIN_OK_CHK(File);
+ BIN_CONTENT_CHK(File);
STRING_PARAM(1, str);
size = pr_strlen(parms[1]);
Modified: trunk/modules/Prosist/Prosist.c
===================================================================
--- trunk/modules/Prosist/Prosist.c 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/modules/Prosist/Prosist.c 2004-05-02 04:58:18 UTC (rev 443)
@@ -983,7 +983,7 @@
DEF(Prosist, rollBack, NULL) {
psrec_p psrecp = self->data.ptr;
- BIN_OK_CHK(Prosist);
+ BIN_CONTENT_CHK(Prosist);
if (psrecp)
rollback_db(ist, psrecp);
else {
@@ -995,7 +995,7 @@
DEF(Prosist, commit, NULL) {
psrec_p psrecp = self->data.ptr;
- BIN_OK_CHK(Prosist);
+ BIN_CONTENT_CHK(Prosist);
if (psrecp)
commit_db(ist, psrecp);
else {
@@ -1008,7 +1008,7 @@
DEF(Prosist, close, NULL) {
psrec_p psrecp = self->data.ptr;
- BIN_OK_CHK(Prosist);
+ BIN_CONTENT_CHK(Prosist);
if (psrecp) {
apr_dbm_close(psrecp->db);
apr_pool_destroy(psrecp->pool);
@@ -1018,30 +1018,30 @@
}
DEF(Prosist, closed_QUES, NULL) {
- BIN_OK_CHK(Prosist);
+ BIN_CONTENT_CHK(Prosist);
if (self->data.ptr) return OBJ(PR_FALSE);
else return OBJ(PR_TRUE);
}
DEF(Prosist, __objList__, FORM_RPARAM) {
- BIN_OK_CHK(Prosist);
+ BIN_CONTENT_CHK(Prosist);
return parms[1];
}
DEF(MutWrap, __hash__, NULL) {
- BIN_OK_CHK(MutWrap);
+ BIN_CONTENT_CHK(MutWrap);
return new_hash_obj(ist, (i32_t)(intptr_t) self->data.ptr);
}
DEF(MutWrap, __eq__QUES, FORM_RPARAM) {
- BIN_OK_CHK(MutWrap);
+ BIN_CONTENT_CHK(MutWrap);
CHECK_TYPE_EXC(parms[1], MutWrap_OBJ, "immutable object wrapper");
if (self->data.ptr == parms[1]->data.ptr) return OBJ(PR_TRUE);
else return OBJ(PR_FALSE);
}
DEF(MutWrap, __objList__, FORM_RPARAM) {
- BIN_OK_CHK(MutWrap);
+ BIN_CONTENT_CHK(MutWrap);
return parms[1];
}
Modified: trunk/modules/Re/Re.c
===================================================================
--- trunk/modules/Re/Re.c 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/modules/Re/Re.c 2004-05-02 04:58:18 UTC (rev 443)
@@ -144,7 +144,7 @@
int i, err, ngrps = numgrps(self);
regex_t* e = self->data.ptr;
- BIN_OK_CHK(ReCompiled);
+ BIN_CONTENT_CHK(ReCompiled);
STRING_PARAM(1, s);
res = NEW_LIST(10);
@@ -202,7 +202,7 @@
regex_t* e = self->data.ptr;
i64_t start, end;
- BIN_OK_CHK(ReCompiled);
+ BIN_CONTENT_CHK(ReCompiled);
STRING_PARAM(1, s);
INT_64_PARAM(2, start);
INT_64_PARAM(3, end);
@@ -251,7 +251,7 @@
int i, split_count=0, maxsplit, err, ngrps = numgrps(self);
char* s;
- BIN_OK_CHK(ReCompiled);
+ BIN_CONTENT_CHK(ReCompiled);
STRING_PARAM(1, s);
INT_32_PARAM(2, maxsplit);
@@ -390,7 +390,7 @@
char *repl = "", *orig_s, *p1, *p2, *s, *s_lim, *res;
int i, last_index=0, repl_is_func=FALSE, count, err, ngrps = numgrps(self);
- BIN_OK_CHK(ReCompiled);
+ BIN_CONTENT_CHK(ReCompiled);
if ( !has_proto_QUES(ist, parms[1], OBJ(STRING_PROTO)) &&
!(repl_is_func=has_proto_QUES(ist, parms[1], OBJ(FUNC_PROTO))) ) {
raise_exception(ist, OBJ(TYPE_EXC), "sub repl parameter must be a string or function");
@@ -485,12 +485,12 @@
}
DEF(ReCompiled, __objList__, FORM_RPARAM) {
- BIN_OK_CHK(ReCompiled);
+ BIN_CONTENT_CHK(ReCompiled);
return parms[1];
}
DEF(ReCompiled, __del__, NULL) {
- BIN_OK_CHK(ReCompiled);
+ BIN_CONTENT_CHK(ReCompiled);
regfree((regex_t*)(self->data.ptr));
return OBJ(NONE);
}
@@ -505,7 +505,7 @@
}
DEF(ReMatch, __objList__, FORM_RPARAM) {
- BIN_OK_CHK(ReMatch);
+ BIN_CONTENT_CHK(ReMatch);
return parms[1];
}
@@ -513,7 +513,7 @@
u32_t grp;
i64_t groupid;
- BIN_OK_CHK(ReMatch);
+ BIN_CONTENT_CHK(ReMatch);
INT_64_PARAM(1, groupid);
grp = (u32_t) groupid;
if (grp < 0 || grp >= list_len(ist, self)/2) {
@@ -527,7 +527,7 @@
u32_t grp;
i64_t groupid;
- BIN_OK_CHK(ReMatch);
+ BIN_CONTENT_CHK(ReMatch);
INT_64_PARAM(1, groupid);
grp = (u32_t) groupid;
if (grp < 0 || grp >= list_len(ist, self)/2) {
@@ -542,7 +542,7 @@
obj_p res;
i64_t groupid;
- BIN_OK_CHK(ReMatch);
+ BIN_CONTENT_CHK(ReMatch);
INT_64_PARAM(1, groupid);
grp = (u32_t) groupid;
if (grp < 0 || grp >= list_len(ist, self)/2) {
@@ -561,7 +561,7 @@
char *p1, *p2, *s, *s_lim, *orig_s;
obj_p orig_s_obj, res;
- BIN_OK_CHK(ReMatch);
+ BIN_CONTENT_CHK(ReMatch);
STRING_PARAM(1, p1);
size = (strlen(p1) * 2 > 256 ? strlen(p1) * 2 : 256);
@@ -582,7 +582,7 @@
char* orig_s;
obj_p orig_s_obj, res;
- BIN_OK_CHK(ReMatch);
+ BIN_CONTENT_CHK(ReMatch);
INT_32_PARAM(1, j);
if (j < 0 || j > ngrps) {
@@ -633,7 +633,7 @@
obj_p orig_s_obj, res = NEW_TUPLE(ngrps);
orig_s_obj = get_attr(ist, self, sym(ist, "string")); if_exc_return NULL;
orig_s = pr_strptr(orig_s_obj);
- BIN_OK_CHK(ReMatch);
+ BIN_CONTENT_CHK(ReMatch);
for (i=0; i < ngrps; i++) {
sp = (int)(list_item(ist, self, i*2 )->data.i64);
ep = (int)(list_item(ist, self, i*2+1)->data.i64);
Modified: trunk/modules/SQLite/SQLite.c
===================================================================
--- trunk/modules/SQLite/SQLite.c 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/modules/SQLite/SQLite.c 2004-05-02 04:58:18 UTC (rev 443)
@@ -120,7 +120,7 @@
}
DEF(Connection, cursor, NULL) {
- BIN_OK_CHK(Connection);
+ BIN_CONTENT_CHK(Connection);
if (self->data.ptr) {
cursor_p cursorp;
obj_p curs_obj = NEW_OBJ(Cursor_OBJ);
@@ -139,7 +139,7 @@
}
DEF(Connection, rollBack, NULL) {
- BIN_OK_CHK(Connection);
+ BIN_CONTENT_CHK(Connection);
if (self->data.ptr) {
raise_exception(ist, Error_OBJ, "rollBack not implemented yet, use query");
return NULL;
@@ -150,7 +150,7 @@
}
DEF(Connection, commit, NULL) {
- BIN_OK_CHK(Connection);
+ BIN_CONTENT_CHK(Connection);
if (self->data.ptr) {
raise_exception(ist, Error_OBJ, "commit not implemented yet, use query");
return NULL;
@@ -161,7 +161,7 @@
}
DEF(Connection, close, NULL) {
- BIN_OK_CHK(Connection);
+ BIN_CONTENT_CHK(Connection);
if (self->data.ptr) {
sqlite_close((sqlite_p)(self->data.ptr));
self->data.ptr = NULL;
@@ -170,7 +170,7 @@
}
DEF(Connection, __objList__, FORM_RPARAM) {
- BIN_OK_CHK(Connection);
+ BIN_CONTENT_CHK(Connection);
return parms[1];
}
@@ -193,7 +193,7 @@
sqlite_p db;
char *sql, *errmsg=NULL;
- BIN_OK_CHK(Cursor);
+ BIN_CONTENT_CHK(Cursor);
CHECK_TYPE_EXC(parms[1], OBJ(STRING_PROTO), "string");
sql = pr_strptr(parms[1]);
if (parms[3] != OBJ(NONE)) {
@@ -220,7 +220,7 @@
obj_p res;
cursor_p cursorp = (cursor_p)(self->data.ptr);
- BIN_OK_CHK(Cursor);
+ BIN_CONTENT_CHK(Cursor);
p = cursorp->row_ptr;
llen = (int) list_len(ist, cursorp->row_list);
if (p < llen) {
@@ -236,7 +236,7 @@
obj_p res;
cursor_p cursorp = (cursor_p)(self->data.ptr);
- BIN_OK_CHK(Cursor);
+ BIN_CONTENT_CHK(Cursor);
CHECK_TYPE_EXC(parms[1], OBJ(INT_PROTO), "integer");
n = (int) parms[1]->data.i64;
p = cursorp->row_ptr;
@@ -257,7 +257,7 @@
obj_p res;
cursor_p cursorp = (cursor_p)(self->data.ptr);
- BIN_OK_CHK(Cursor);
+ BIN_CONTENT_CHK(Cursor);
p = cursorp->row_ptr;
llen = (int) list_len(ist, cursorp->row_list);
res = NEW_LIST(llen-p);
@@ -271,7 +271,7 @@
DEF(Cursor, rowCount, NULL) {
cursor_p cursorp = (cursor_p)(self->data.ptr);
- BIN_OK_CHK(Cursor);
+ BIN_CONTENT_CHK(Cursor);
if (cursorp->row_list)
return NEW_INT(list_len(ist, cursorp->row_list));
return NEW_INT(-1);
@@ -279,7 +279,7 @@
DEF(Cursor, __objList__, FORM_RPARAM) {
cursor_p cursorp = (cursor_p)(self->data.ptr);
- BIN_OK_CHK(Cursor);
+ BIN_CONTENT_CHK(Cursor);
if (cursorp->row_list)
return cursorp->row_list;
return parms[1];
Modified: trunk/pr/test.pr
===================================================================
--- trunk/pr/test.pr 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/pr/test.pr 2004-05-02 04:58:18 UTC (rev 443)
@@ -2,6 +2,10 @@
# bin.pr
+x = Proto(Int)
+x.__init__(99)
+print x
+
x = Exception
object obj(String, Int):
Modified: trunk/src/builtins-dict.c
===================================================================
--- trunk/src/builtins-dict.c 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/src/builtins-dict.c 2004-05-02 04:58:18 UTC (rev 443)
@@ -278,7 +278,7 @@
obj_p list;
int i, llen, size = max(DEFAULT_INITIAL_DICT_SIZE, (int) dict_len(ist, parms[1])*3);
- BIN_EMPTY_OR_OK_CHK(Dict);
+ BIN_EMPTY_OR_NOT_CHK(Dict);
dict = obj_malloc(ist, OBJ(DICT_PROTO), self, dict_sizeof(size));
memset(dict, 0, dict_sizeof(size));
dictsize(dict) = size;
@@ -296,7 +296,7 @@
char* res;
obj_p res_obj, keys, vals;
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
len = dict_len(ist, self);
keys = dict_keys(ist, self);
@@ -340,7 +340,7 @@
DEF(Dict, hasKey_QUES, FPARM1(k, NULL)) {
obj_p res;
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
if ((res = dict_item(ist, self, parms[1]))) {
del_unlock(res);
return OBJ(PR_TRUE);
@@ -350,7 +350,7 @@
DEF(Dict, get, FPARM2(k, NULL, x, OBJ(NONE))) {
obj_p res;
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
if ((res = dict_item(ist, self, parms[1]))) {
return res;
}
@@ -359,7 +359,7 @@
DEF(Dict, __rIn__QUES, FORM_RPARAM) {
obj_p res;
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
if ((res = dict_item(ist, self, parms[1]))) {
del_unlock(res);
return OBJ(PR_TRUE);
@@ -369,7 +369,7 @@
DEF(Dict, __rNotIn__QUES, FORM_RPARAM) {
obj_p res;
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
if ((res = dict_item(ist, self, parms[1]))) {
del_unlock(res);
return OBJ(PR_FALSE);
@@ -378,20 +378,20 @@
}
DEF(Dict, __cDataLen__, NULL) {
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
return NEW_INT(dict_size_bytes(self->data.ptr));
}
DEF(Dict, __objList__, FORM_RPARAM) {
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
return parms[1];
}
DEF(Dict, __getItem__, FORM_RPARAM) {
obj_p res;
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
CHECK_TYPE_EXC(self, OBJ(DICT_PROTO), "dict");
if (list_len(ist, parms[1]) > 1) {
@@ -407,7 +407,7 @@
}
DEF(Dict, __setItem__, FORM_PARAM2) {
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
if (list_len(ist, parms[1]) > 1) {
raise_exception(ist, OBJ(INTERPRETER_EXC), "slice not allowed in dictionary indexing");
return NULL;
@@ -422,7 +422,7 @@
i32_t i, hash_in;
obj_p key, key_in, rp[2];
dict_p dict, dp;
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
rp[0]=0; rp[1] = key_in = list_item(ist, parms[1], 0);
if (list_len(ist, parms[1]) > 1) {
raise_exception(ist, OBJ(INTERPRETER_EXC), "slice not allowed in dictionary indexing");
@@ -453,23 +453,23 @@
}
DEF(Dict, items, NULL) {
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
return dict_keys_values(ist, self, 3 /*tuples*/);
}
DEF(Dict, keys, NULL) {
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
return dict_keys_values(ist, self, 1 /*keys*/);
}
DEF(Dict, values, NULL) {
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
return dict_keys_values(ist, self, 0 /*values*/);
}
DEF(Dict, clear_BANG, NULL) {
dict_p dict;
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
def_write_lock(self);
dict = dict_d(self);
memset(&(dict->entry)+1, 0, dictsize(dict) * sizeof(dict_entry_t));
@@ -482,7 +482,7 @@
size_t i, llen;
obj_p list;
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
CHECK_TYPE_EXC(parms[1], OBJ(DICT_PROTO), "dict");
list = dict_keys_values(ist, parms[1], 2 /*list*/);
llen = list_len(ist, list);
@@ -496,7 +496,7 @@
DEF(Dict, setDefault_BANG, FPARM2(k, NULL, x, OBJ(NONE))) {
obj_p res;
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
if ((res = dict_item(ist, self, parms[1]))) {
return res;
}
@@ -507,14 +507,14 @@
}
DEF(Dict, popItem_BANG, NULL) {
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
return dict_keys_values(ist, self, 4 /*tuple*/);
}
DEF(Dict, __iter__, NULL) {
obj_p list_obj, gen_obj = NEW_OBJ(DictGen_OBJ);
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
gen_obj->data_type = DATA_TYPE_DATAPTR;
gen_obj->data.ptr = list_obj = dict_keys(ist, self);
@@ -524,7 +524,7 @@
DEF(Dict, __toStorProxy__, NULL) {
obj_p proxy_obj = dict_keys_values(ist, self, 2 /*list*/);
- BIN_OK_CHK(Dict);
+ BIN_CONTENT_CHK(Dict);
switch_proto(ist, proxy_obj, DictRestore_OBJ);
return proxy_obj;
}
@@ -538,7 +538,7 @@
DEF(DictRestore, __fromStorProxy__, NULL) {
int i, llen = (int)list_len(ist, self);
obj_p dict = NEW_DICT(2*llen);
- BIN_OK_CHK(DictRestore);
+ BIN_CONTENT_CHK(DictRestore);
for (i=0; i < llen; i += 2)
dict_add(ist, dict, list_item(ist, self, i), list_item(ist, self, i+1));
return dict;
@@ -553,7 +553,7 @@
DEF(DictGen, next, NULL) {
obj_p res, list_obj = self->data.ptr;
- BIN_OK_CHK(DictGen);
+ BIN_CONTENT_CHK(DictGen);
CHECK_TYPE_EXC(self, DictGen_OBJ, "DictGen");
CHECK_TYPE_EXC(list_obj, OBJ(SEQ_PROTO), "list");
Modified: trunk/src/builtins-float.c
===================================================================
--- trunk/src/builtins-float.c 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/src/builtins-float.c 2004-05-02 04:58:18 UTC (rev 443)
@@ -120,7 +120,7 @@
}
DEF(Float, __bool__QUES, NULL) {
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
if (Float_value(self) != 0.0 )
return OBJ(PR_TRUE);
else
@@ -129,7 +129,7 @@
DEF(Float, __hash__, NULL) {
double flt = (double) Float_value(self);
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
if (flt < 0) flt = -flt;
if (flt == 0.0) flt = 1.0;
while (flt < 100.0) flt *= 10.0;
@@ -139,24 +139,24 @@
DEF(Float, __abs__, NULL) {
double num = Float_value(self);
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
return NEW_FLOAT(num < 0 ? -num : num);
}
DEF(Float, __neg__, NULL){
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
return NEW_FLOAT( - Float_value(self) );
}
DEF(Float, __pos__, NULL){
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
return self;
}
DEF(Float, __add__, FORM_RPARAM){
double float_other;
obj_p other = parms[1];
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
if (is_Float(other)) float_other = Float_value(other);
else {
if (has_proto_QUES(ist, other, OBJ(INT_PROTO)))
@@ -174,7 +174,7 @@
DEF(Float, __div__, FORM_RPARAM){
double float_other;
obj_p other = parms[1];
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
if (is_Float(other)) float_other = Float_value(other);
else {
if (has_proto_QUES(ist, other, OBJ(INT_PROTO)))
@@ -196,7 +196,7 @@
DEF(Float, __rDiv__, FORM_RPARAM){
double float_other;
obj_p other = parms[1];
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
if (is_Float(other)) float_other = Float_value(other);
else {
if (has_proto_QUES(ist, other, OBJ(INT_PROTO)))
@@ -216,7 +216,7 @@
DEF(Float, __mul__, FORM_RPARAM){
double float_other;
obj_p other = parms[1];
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
if (is_Float(other)) float_other = Float_value(other);
else {
if (has_proto_QUES(ist, other, OBJ(INT_PROTO)))
@@ -234,7 +234,7 @@
DEF(Float, __sub__, FORM_RPARAM){
double float_other;
obj_p other = parms[1];
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
if (is_Float(other)) float_other = Float_value(other);
else {
if (has_proto_QUES(ist, other, OBJ(INT_PROTO)))
@@ -267,7 +267,7 @@
DEF(Float, __pow__, FORM_RPARAM){
double float_other;
obj_p other = parms[1];
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
if (is_Float(other)) float_other = Float_value(other);
else {
if (has_proto_QUES(ist, other, OBJ(INT_PROTO)))
@@ -285,7 +285,7 @@
DEF(Float, __rPow__, FORM_RPARAM){
double float_other;
obj_p other = parms[1];
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
if (is_Float(other)) float_other = Float_value(other);
else {
if (has_proto_QUES(ist, other, OBJ(INT_PROTO)))
@@ -302,7 +302,7 @@
DEF(Float, cmp, FORM_RPARAM){
double float_other;
obj_p other = parms[1];
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
if (is_Float(other)) float_other = Float_value(other);
else {
if (has_proto_QUES(ist, other, OBJ(INT_PROTO)))
@@ -325,7 +325,7 @@
DEF(Float, __rCmp__, FORM_RPARAM){
double float_other;
obj_p other = parms[1];
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
if (is_Float(other)) float_other = Float_value(other);
else {
if (has_proto_QUES(ist, other, OBJ(INT_PROTO)))
@@ -346,7 +346,7 @@
DEF(Float, __eq__QUES, FORM_RPARAM){
double float_other;
obj_p other = parms[1];
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
if (is_Float(other)) float_other = Float_value(other);
else {
if (has_proto_QUES(ist, other, OBJ(INT_PROTO)))
@@ -363,19 +363,19 @@
DEF(Float, __str__, NULL){
char str[1024];
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
apr_snprintf(str, sizeof(str), "%g", Float_value(self));
return NEW_STRING(str);
}
DEF(Float, __covers__QUES, FORM_RPARAM) {
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
if (has_proto_QUES(ist, parms[1], OBJ(INT_PROTO))) return OBJ(PR_TRUE);
else return OBJ(PR_FALSE);
}
DEF(Float, __coerce__, FORM_RPARAM) {
- BIN_OK_CHK(Float);
+ BIN_CONTENT_CHK(Float);
if (has_proto_QUES(ist, parms[1], OBJ(INT_PROTO)))
return NEW_FLOAT((double)(parms[1]->data.i64));
else if (has_proto_QUES(ist, parms[1], Float_OBJ))
Modified: trunk/src/builtins-int.c
===================================================================
--- trunk/src/builtins-int.c 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/src/builtins-int.c 2004-05-02 04:58:18 UTC (rev 443)
@@ -121,42 +121,42 @@
DEF(Int, __str__, NULL){
char str[24];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
apr_snprintf(str, sizeof(str), "%"APR_INT64_T_FMT, (i64_t)Int_value(self));
return NEW_STRING(str);
}
DEF(Int, __bool__QUES, NULL) {
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
if (Int_value(self)) return OBJ(PR_TRUE);
else return OBJ(PR_FALSE);
}
DEF(Int, __hash__, NULL) {
i32_t i32 = (i32_t) Int_value(self);
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
return new_hash_obj(ist, i32);
}
DEF(Int, __abs__, NULL){
i64_t num = Int_value(self);
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
return NEW_INT(num < 0 ? -num : num);
}
DEF(Int, __neg__, NULL){
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
return NEW_INT( - Int_value(self) );
}
DEF(Int, __pos__, NULL){
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
return self;
}
DEF(Int, __add__, FORM_RPARAM){
obj_p other = parms[1];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
if (!is_Int(other)) {
if (covers(other, self))
return call_func1(ist, other, SYM(__ADD__), self);
@@ -169,7 +169,7 @@
DEF(Int, __div__, FORM_RPARAM){
obj_p res;
obj_p float_self, float_other, other = parms[1];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
if (!is_Int(other)) {
if (covers(other, self))
return call_func1(ist, other, SYM(__RDIV__), self);
@@ -185,7 +185,7 @@
DEF(Int, __floorDiv__, FORM_RPARAM){
obj_p other = parms[1];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
if (!is_Int(other)) {
if (covers(other, self))
return call_func1(ist, other, SYM(__RFLOORDIV__), self);
@@ -201,7 +201,7 @@
DEF(Int, __mod__, FORM_RPARAM) {
obj_p other = parms[1];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
if (!is_Int(other)) {
if (covers(other, self))
return call_func1(ist, other, SYM(__RMOD__), self);
@@ -217,7 +217,7 @@
DEF(Int, __mul__, FORM_RPARAM) {
obj_p other = parms[1];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
if (!is_Int(other)) {
if (covers(other, self))
return call_func1(ist, other, SYM(__MUL__), self);
@@ -229,7 +229,7 @@
DEF(Int, __sub__, FORM_RPARAM) {
obj_p other = parms[1];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
if (!is_Int(other)) {
if (covers(other, self))
return call_func1(ist, other, SYM(__RSUB__), self);
@@ -242,7 +242,7 @@
DEF(Int, __pow__, FORM_RPARAM){
obj_p res;
obj_p float_self, float_other, other = parms[1];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
float_self = call_func1(ist, OBJ(FLOAT_PROTO), SYM(__COERCE__), self); if_exc_return NULL;
float_other = call_func1(ist, OBJ(FLOAT_PROTO), SYM(__COERCE__), other); if_exc_return NULL;
res = call_func1(ist, float_self, SYM(__POW__), float_other);
@@ -252,7 +252,7 @@
DEF(Int, cmp, FORM_RPARAM){
obj_p other = parms[1];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
if (!is_Int(other)) {
if (covers(other, self))
return call_func1(ist, other, SYM(__RCMP__), self);
@@ -269,7 +269,7 @@
DEF(Int, __eq__QUES, FORM_RPARAM){
obj_p other = parms[1];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
if (!is_Int(other)) {
int c = covers(other, self);
if (catch_exception(ist, OBJ(FUNCNOTFOUND_EXC), NULL))
@@ -281,13 +281,13 @@
else return OBJ(PR_FALSE);
}
DEF(Int, __invert__, NULL){
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
return NEW_INT( ~ Int_value(self) );
}
DEF(Int, __xor__, FORM_RPARAM) {
obj_p other = parms[1];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
if (!is_Int(other)) {
raise_exception(ist, OBJ(TYPE_EXC), "object cannot be xor'd with an Integer");
return OBJ(NONE);
@@ -297,7 +297,7 @@
DEF(Int, __and__, FORM_RPARAM) {
obj_p other = parms[1];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
if (!is_Int(other)) {
raise_exception(ist, OBJ(TYPE_EXC), "object cannot be and'd with an Integer");
return OBJ(NONE);
@@ -307,7 +307,7 @@
DEF(Int, __or__, FORM_RPARAM) {
obj_p other = parms[1];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
if (!is_Int(other)) {
raise_exception(ist, OBJ(TYPE_EXC), "object cannot be or'd with an Integer");
return OBJ(NONE);
@@ -317,7 +317,7 @@
DEF(Int, __rShift__, FORM_RPARAM) {
obj_p other = parms[1];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
if (!is_Int(other)) {
raise_exception(ist, OBJ(TYPE_EXC), "object cannot be shifted with an Integer");
return OBJ(NONE);
@@ -327,7 +327,7 @@
DEF(Int, __lShift__, FORM_RPARAM) {
obj_p other = parms[1];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
if (!is_Int(other)) {
raise_exception(ist, OBJ(TYPE_EXC), "object cannot be shifted with an Integer");
return OBJ(NONE);
@@ -337,7 +337,7 @@
DEF(Int, __iter__, NULL) {
obj_p gen_obj = NEW_INT(0);
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
gen_obj->immutable = FALSE;
gen_obj->attr_proto.proto = IntGen_OBJ;
set_attr(ist, gen_obj, SYM_LIMIT, self);
@@ -346,7 +346,7 @@
DEF(Int, chr, NULL) {
char s[1];
- BIN_OK_CHK(Int);
+ BIN_CONTENT_CHK(Int);
s[0] = (char) Int_value(self);
return NEW_STRINGN(s, 1);
}
@@ -361,7 +361,7 @@
DEF(IntGen, next, NULL) {
obj_p limit, res;
- BIN_OK_CHK(IntGen);
+ BIN_CONTENT_CHK(IntGen);
if ( !(limit=get_attr(ist, self, SYM_LIMIT)) ||
Int_value(self) == Int_value(limit) ) {
if (limit) {
Modified: trunk/src/builtins-list.c
===================================================================
--- trunk/src/builtins-list.c 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/src/builtins-list.c 2004-05-02 04:58:18 UTC (rev 443)
@@ -313,7 +313,7 @@
}
DEF(List, __init__, FORM_STAR_PARAM) {
- BIN_EMPTY_OR_OK_CHK(List);
+ BIN_EMPTY_OR_NOT_CHK(List);
read_unlock(ist, self);
read_unlock(ist, parms[1]);
copy_object_data(ist, self, parms[1]);
@@ -323,12 +323,12 @@
}
DEF(List, __str__, NULL) {
- BIN_OK_CHK(List);
+ BIN_CONTENT_CHK(List);
return str_tuple_list(ist, self, "[", "]");
}
DEF(List, __getItem__, FORM_RPARAM) {
- BIN_OK_CHK(List);
+ BIN_CONTENT_CHK(List);
return get_sequence_item(ist, self, parms[1], SEQ_TYPE_LIST);
}
@@ -338,7 +338,7 @@
obj_p slice = parms[1], value = parms[3];
i64_t i, new_len, exp_len, index1 = 0, index2 = 0, index3 = 0, slice1_empty=FALSE, slice2_empty=FALSE;
size_t val_len, self_len, slice_len = list_len(ist, slice);
- BIN_OK_CHK(List);
+ BIN_CONTENT_CHK(List);
def_write_lock(self);
self_len = listlen(self);
slice_item1 = list_item(ist, slice,0);
@@ -453,7 +453,7 @@
obj_p slice = parms[1];
i64_t i, new_len, index1 = 0, index2 = 0, index3 = 0, slice1_empty=FALSE, slice2_empty=FALSE;
size_t exp_len, self_len, slice_len = list_len(ist, slice);
- BIN_OK_CHK(List);
+ BIN_CONTENT_CHK(List);
def_write_lock(self);
self_len = listlen(self);
slice_item1 = list_item(ist, slice,0);
@@ -559,7 +559,7 @@
DEF(List, __add__, FORM_RPARAM) {
int i;
obj_p res = copy_list_obj(ist, self);
- BIN_OK_CHK(List);
+ BIN_CONTENT_CHK(List);
if (has_proto_QUES(ist, parms[1], OBJ(SEQ_PROTO)) && !has_proto_QUES(ist, parms[1], OBJ(STRING_PROTO)))
for(i=0; i < (int) list_len(ist, parms[1]); i++)
list_append(ist, res, list_item(ist, parms[1], i));
@@ -572,7 +572,7 @@
obj_p res;
list_p lstp, selfp = (list_p)(self->data.ptr);
int i, size, times, len = (int) list_len(ist, self);
- BIN_OK_CHK(List);
+ BIN_CONTENT_CHK(List);
if (!has_proto_QUES(ist, parms[1], OBJ(INT_PROTO))) {
raise_exception(ist, OBJ(TYPE_EXC), "multiply times parameter must be an integer");
return NULL;
@@ -597,7 +597,7 @@
DEF(List, append_BANG, FORM_RPARAM) {
list_p lstp;
- BIN_OK_CHK(List);
+ BIN_CONTENT_CHK(List);
def_write_lock(self);
lstp = self->data.ptr;
if(lstplen(lstp) == lstpsize(lstp)) {
@@ -613,7 +613,7 @@
DEF(List, extend_BANG, FORM_RPARAM) {
list_p selfp, otherp;
size_t self_len, other_len;
- BIN_OK_CHK(List);
+ BIN_CONTENT_CHK(List);
def_write_lock(self);
if (!has_proto_QUES(ist, parms[1], OBJ(TUPLE_PROTO)) && !has_proto_QUES(ist, parms[1], List_OBJ)) {
raise_exception(ist, OBJ(TYPE_EXC), "extend parameter must be a tuple or list");
@@ -638,7 +638,7 @@
i64_t index;
size_t self_len;
list_p selfp;
- BIN_OK_CHK(List);
+ BIN_CONTENT_CHK(List);
if (!has_proto_QUES(ist, parms[1], OBJ(INT_PROTO))) {
raise_exception(ist, OBJ(TYPE_EXC), "index (i) parameter must be an integer");
return NULL;
@@ -670,7 +670,7 @@
i64_t i;
size_t self_len;
list_p selfp;
- BIN_OK_CHK(List);
+ BIN_CONTENT_CHK(List);
def_write_lock(self);
selfp = self->data.ptr;
self_len = lstplen(selfp);
@@ -696,7 +696,7 @@
size_t self_len;
list_p selfp;
obj_p res;
- BIN_OK_CHK(List);
+ BIN_CONTENT_CHK(List);
if (parms[1] != OBJ(NONE) && !has_proto_QUES(ist, parms[1], OBJ(INT_PROTO))) {
raise_exception(ist, OBJ(TYPE_EXC), "pop index (i) parameter must be an integer");
return NULL;
@@ -726,7 +726,7 @@
size_t self_len;
list_p selfp;
obj_p *p1, *p2;
- BIN_OK_CHK(List);
+ BIN_CONTENT_CHK(List);
def_write_lock(self);
selfp = self->data.ptr;
self_len = lstplen(selfp);
@@ -747,7 +747,7 @@
list_p selfp;
obj_p* a;
- BIN_OK_CHK(List);
+ BIN_CONTENT_CHK(List);
if (parms[1] != OBJ(NONE))
CHECK_TYPE_EXC(self, OBJ(FUNC_PROTO), "function");
selfp = self->data.ptr;
Modified: trunk/src/builtins-string.c
===================================================================
--- trunk/src/builtins-string.c 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/src/builtins-string.c 2004-05-02 04:58:18 UTC (rev 443)
@@ -158,25 +158,25 @@
}
DEF(String, __str__, NULL) {
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
return self;
}
DEF(String, __hash__, NULL) {
i32_t res = 0x9a7c5e3;
char *p;
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
for(p=pr_strptr(self); *p; p++) res += 131 * (*p);
return new_hash_obj(ist, res);
}
DEF(String, __objList__, FORM_RPARAM) {
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
return parms[1];
}
DEF(String, __getItem__, FORM_RPARAM) {
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
return get_sequence_item(ist, self, parms[1], SEQ_TYPE_STRING);
}
@@ -192,7 +192,7 @@
DEF(String, cmp, FORM_RPARAM){
obj_p other = parms[1];
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
if (self == other)
return NEW_INT(0);
if (!is_String(other)) {
@@ -206,7 +206,7 @@
obj_p obj, other = parms[1];
pr_str_p obj_str;
size_t slen, olen, tlen;
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
if (!is_String(other)) other = call_func0(ist, other, SYM(__STR__));
slen = pr_strlen(self); olen = pr_strlen(other);
tlen = slen + olen;
@@ -232,7 +232,7 @@
obj_p obj;
pr_str_p obj_str;
size_t i, times, tlen, len = pr_strlen(self);
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
if (!has_proto_QUES(ist, parms[1], OBJ(INT_PROTO))) {
raise_exception(ist, OBJ(TYPE_EXC), "multiply times parameter must be an integer");
return NULL;
@@ -271,7 +271,7 @@
char *fmt_str = pr_strptr(self), *buf;
apr_status_t aprerr;
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
if ( has_proto_QUES(ist, argv_obj, OBJ(STRING_PROTO)) ||
!has_proto_QUES(ist, argv_obj, OBJ(SEQ_PROTO)) ) {
argv_obj = NEW_LIST(1);
@@ -309,7 +309,7 @@
DEF(String, __iter__, NULL) {
obj_p gen_obj = NEW_OBJ(StringGen_OBJ);
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
gen_obj->data_type = DATA_TYPE_DATAPTR;
gen_obj->data.ptr = pr_strptr(self);
set_attr(ist, gen_obj, sym(ist, "saved_string"), self);
@@ -317,7 +317,7 @@
}
DEF(String, ord, NULL) {
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
return NEW_INT((int)(*pr_strptr(self)));
}
@@ -327,7 +327,7 @@
obj_p obj, list, str_list;
int i, llen;
size_t ofs, self_len, tlen;
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
if (!has_proto_QUES(ist, parms[1], OBJ(LIST_PROTO))) {
raise_exception(ist, OBJ(TYPE_EXC), "join function parameter must be a list");
return NULL;
@@ -376,7 +376,7 @@
}
DEF(String, __in__QUES, FORM_RPARAM) {
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
if (!has_proto_QUES(ist, parms[1], String_OBJ))
return call_func1(ist, parms[1], SYM(__RIN__QUES), self);
if (strstr(pr_strptr(parms[1]), pr_strptr(self))) return OBJ(PR_TRUE);
@@ -384,7 +384,7 @@
}
DEF(String, __notIn__QUES, FORM_RPARAM) {
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
if (!has_proto_QUES(ist, parms[1], String_OBJ))
return call_func1(ist, parms[1], SYM(__RNOTIN__QUES), self);
if (strstr(pr_strptr(parms[1]), pr_strptr(self))) return OBJ(PR_FALSE);
@@ -392,18 +392,18 @@
}
DEF(String, len, NULL) {
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
return NEW_INT(pr_strlen(self));
}
DEF(String, __bool__QUES, NULL) {
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
if (pr_strlen(self)) return OBJ(PR_TRUE);
else return OBJ(PR_FALSE);
}
DEF(String, __cDataLen__, NULL) {
- BIN_OK_CHK(String);
+ BIN_CONTENT_CHK(String);
return NEW_INT(sizeof(pr_str_t) + pr_strlen(self) + 1);
}
@@ -421,7 +421,7 @@
int ch;
obj_p res = NULL;
char* res_str;
- BIN_OK_CHK(StringGen);
+ BIN_CONTENT_CHK(StringGen);
def_write_lock(self);
if ((ch = *((char*)self->data.ptr))) {
self->data.ptr = (i64_t *)(((char*)self->data.ptr) + 1);
Modified: trunk/src/builtins-thread.c
===================================================================
--- trunk/src/builtins-thread.c 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/src/builtins-thread.c 2004-05-02 04:58:18 UTC (rev 443)
@@ -246,7 +246,7 @@
DEF(Thread, __str__, NULL) {
obj_p name_obj;
char name[80];
- BIN_OK_CHK(Thread);
+ BIN_CONTENT_CHK(Thread);
if ((name_obj = get_attr(ist, self, sym(ist, "name"))))
apr_snprintf(name, sizeof(name), "<Thread:%s>", pr_strptr(name_obj));
else
@@ -255,13 +255,13 @@
}
DEF(Thread, access, NULL) {
- BIN_OK_CHK(Thread);
+ BIN_CONTENT_CHK(Thread);
return NEW_INT(ist->access);
}
DEF(Thread, setAccess, FORM_RPARAM) {
int new_access;
- BIN_OK_CHK(Thread);
+ BIN_CONTENT_CHK(Thread);
CHECK_TYPE_EXC(parms[1], OBJ(INT_PROTO), "integer");
new_access = (int) parms[1]->data.i64;
if (new_access > ist->access) {
@@ -274,7 +274,7 @@
}
DEF(Thread, accessStr, NULL) {
- BIN_OK_CHK(Thread);
+ BIN_CONTENT_CHK(Thread);
switch (ist->access) {
case 0: return NEW_STRING("guest");
case 1: return NEW_STRING("user1");
@@ -285,13 +285,13 @@
}
DEF(Thread, running_QUES, NULL) {
- BIN_OK_CHK(Thread);
+ BIN_CONTENT_CHK(Thread);
if (thread_running(self)) return OBJ(PR_TRUE);
else return OBJ(PR_FALSE);
}
DEF(Thread, sleep, FORM_RPARAM) {
- BIN_OK_CHK(Thread);
+ BIN_CONTENT_CHK(Thread);
CHECK_TYPE_EXC(parms[1], OBJ(FLOAT_PROTO), "float");
apr_sleep((apr_interval_time_t)((parms[1]->data.f64)*1000000));
return parms[1];
@@ -300,7 +300,7 @@
DEF(Thread, join, NULL) {
pr_thread_p thread_ptr = self->data.ptr;
apr_status_t retval, aprerr;
- BIN_OK_CHK(Thread);
+ BIN_CONTENT_CHK(Thread);
if (!(thread_ptr->apr_thread)) {
raise_exception(ist, OBJ(INTERPRETER_EXC), "cannot join this thread");
return NULL;
@@ -311,7 +311,7 @@
}
DEF(Thread, __objList__, FORM_RPARAM) {
- BIN_OK_CHK(Thread);
+ BIN_CONTENT_CHK(Thread);
return parms[1];
}
@@ -343,14 +343,14 @@
DEF(Mutex, __str__, NULL) {
char name[30];
- BIN_OK_CHK(Mutex);
+ BIN_CONTENT_CHK(Mutex);
apr_snprintf(name, sizeof(name), "<Mutex:%lx>", (unsigned long)(intptr_t)self);
return NEW_STRING(name);
}
DEF(Mutex, lock, NULL) {
apr_status_t aprerr;
- BIN_OK_CHK(Mutex);
+ BIN_CONTENT_CHK(Mutex);
aprerr = apr_thread_mutex_lock((apr_thread_mutex_t*)(self->data.ptr));
IF_APR_ERR("error in apr_thread_mutex_lock") return NULL;
return self;
@@ -358,7 +358,7 @@
DEF(Mutex, tryLock, NULL) {
apr_status_t aprerr;
- BIN_OK_CHK(Mutex);
+ BIN_CONTENT_CHK(Mutex);
aprerr = apr_thread_mutex_trylock((apr_thread_mutex_t*)(self->data.ptr));
if (APR_STATUS_IS_EBUSY(aprerr)) return OBJ(PR_FALSE);
else if (aprerr == APR_SUCCESS) return OBJ(PR_TRUE);
@@ -368,20 +368,20 @@
DEF(Mutex, unlock, NULL) {
apr_status_t aprerr;
- BIN_OK_CHK(Mutex);
+ BIN_CONTENT_CHK(Mutex);
aprerr = apr_thread_mutex_unlock((apr_thread_mutex_t*)(self->data.ptr));
IF_APR_ERR("error in apr_thread_mutex_unlock") return NULL;
return self;
}
DEF(Mutex, __del__, NULL) {
- BIN_OK_CHK(Mutex);
+ BIN_CONTENT_CHK(Mutex);
apr_thread_mutex_destroy((apr_thread_mutex_t*)(self->data.ptr));
return OBJ(NONE);
}
DEF(Mutex, __objList__, FORM_RPARAM) {
- BIN_OK_CHK(Mutex);
+ BIN_CONTENT_CHK(Mutex);
return parms[1];
}
Modified: trunk/src/builtins-tuple.c
===================================================================
--- trunk/src/builtins-tuple.c 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/src/builtins-tuple.c 2004-05-02 04:58:18 UTC (rev 443)
@@ -106,12 +106,12 @@
}
DEF(Tuple, __str__, NULL) {
- BIN_OK_CHK(Tuple);
+ BIN_CONTENT_CHK(Tuple);
return str_tuple_list(ist, self, "(", ")");
}
DEF(Tuple, __getItem__, FORM_RPARAM) {
- BIN_OK_CHK(Tuple);
+ BIN_CONTENT_CHK(Tuple);
return get_sequence_item(ist, self, parms[1], SEQ_TYPE_TUPLE);
}
@@ -133,7 +133,7 @@
int i, llen, tlen, mlen;
obj_p res;
obj_p self_item, tgt_item, tgt_list;
- BIN_OK_CHK(Tuple);
+ BIN_CONTENT_CHK(Tuple);
if (!has_proto_QUES(ist, parms[1], OBJ(SEQ_PROTO))) {
raise_exception(ist, OBJ(TYPE_EXC), "sequence can only be compared to a sequence");
return NULL;
@@ -157,7 +157,7 @@
DEF(Tuple, __eq__QUES, FORM_RPARAM) {
int i, llen, tlen;
obj_p self_item, tgt_item, tgt_list, false_obj = OBJ(PR_FALSE);
- BIN_OK_CHK(Tuple);
+ BIN_CONTENT_CHK(Tuple);
if (!has_proto_QUES(ist, parms[1], OBJ(SEQ_PROTO))) return false_obj;
llen = (int) list_len(ist, self);
tgt_list = parms[1];
@@ -176,7 +176,7 @@
DEF(Tuple, __rIn__QUES, FORM_RPARAM) {
int i, llen = (int) list_len(ist, self);
obj_p item, tgt = parms[1];
- BIN_OK_CHK(Tuple);
+ BIN_CONTENT_CHK(Tuple);
for(i=0; i < llen; i++) {
item = list_item(ist, self, i);
if (call_func1(ist, item, SYM(__EQ__QUES), tgt) == OBJ(PR_TRUE))
@@ -189,7 +189,7 @@
DEF(Tuple, __rNotIn__QUES, FORM_RPARAM) {
int i, llen = (int) list_len(ist, self);
obj_p item, tgt = parms[1];
- BIN_OK_CHK(Tuple);
+ BIN_CONTENT_CHK(Tuple);
for(i=0; i < llen; i++) {
item = list_item(ist, self, i);
if (call_func1(ist, item, SYM(__EQ__QUES), tgt) == OBJ(PR_TRUE))
@@ -202,7 +202,7 @@
DEF(Tuple, __add__, FORM_RPARAM) {
int i;
obj_p res = copy_list_obj(ist, self);
- BIN_OK_CHK(Tuple);
+ BIN_CONTENT_CHK(Tuple);
if (has_proto_QUES(ist, parms[1], OBJ(SEQ_PROTO)) && !has_proto_QUES(ist, parms[1], OBJ(STRING_PROTO)))
for(i=0; i < (int) list_len(ist, parms[1]); i++)
list_append(ist, res, list_item(ist, parms[1], i));
@@ -216,7 +216,7 @@
obj_p res;
list_p lstp, selfp = (list_p)(self->data.ptr);
int i, size, times, len = (int) list_len(ist, self);
- BIN_OK_CHK(Tuple);
+ BIN_CONTENT_CHK(Tuple);
if (!has_proto_QUES(ist, parms[1], OBJ(INT_PROTO))) {
raise_exception(ist, OBJ(TYPE_EXC), "multiply times parameter must be an integer");
return NULL;
@@ -244,14 +244,14 @@
}
DEF(Tuple, len, NULL) {
- BIN_OK_CHK(Tuple);
+ BIN_CONTENT_CHK(Tuple);
return NEW_INT(list_len(ist, self));
}
DEF(Tuple, min, NULL) {
int i, llen = (int) list_len(ist, self);
obj_p min_item, cmp_obj;
- BIN_OK_CHK(Tuple);
+ BIN_CONTENT_CHK(Tuple);
if (llen == 0) return OBJ(NONE);
if (llen == 1) return list_item(ist, self, 0);
cmp_obj = call_func1(ist, list_item(ist, self, 0), SYM(CMP), list_item(ist, self, 1)); if_exc_return NULL;
@@ -267,7 +267,7 @@
DEF(Tuple, max, NULL) {
int i, llen = (int) list_len(ist, self);
obj_p max_item, cmp_obj;
- BIN_OK_CHK(Tuple);
+ BIN_CONTENT_CHK(Tuple);
if (llen == 0) return OBJ(NONE);
if (llen == 1) return list_item(ist, self, 0);
cmp_obj = call_func1(ist, list_item(ist, self, 0), SYM(CMP), list_item(ist, self, 1)); if_exc_return NULL;
@@ -282,7 +282,7 @@
DEF(Tuple, count, FORM_RPARAM) {
int i, cnt=0, llen = (int) list_len(ist, self);
- BIN_OK_CHK(Tuple);
+ BIN_CONTENT_CHK(Tuple);
for (i=0; i < llen; i++) {
if (call_func1(ist, list_item(ist, self, i), SYM(__EQ__QUES), parms[1]) == OBJ(PR_TRUE))
cnt++;
@@ -293,7 +293,7 @@
DEF(Tuple, index, FORM_RPARAM) {
int i, llen = (int) list_len(ist, self);
- BIN_OK_CHK(Tuple);
+ BIN_CONTENT_CHK(Tuple);
for (i=0; i < llen; i++) {
if (call_func1(ist, list_item(ist, self, i), SYM(__EQ__QUES), parms[1]) == OBJ(PR_TRUE))
return NEW_INT(i);
@@ -309,7 +309,7 @@
DEF(Tuple, __iter__, NULL) {
obj_p list_obj, gen_obj = NEW_OBJ(Tgen_OBJ);
- BIN_OK_CHK(Tuple);
+ BIN_CONTENT_CHK(Tuple);
gen_obj->data_type = DATA_TYPE_DATAPTR;
gen_obj->data.ptr = list_obj = copy_list_obj(ist, self);
listlen(list_obj) = 0;
@@ -321,7 +321,7 @@
i32_t hash=0x937456;
int i, llen;
- BIN_OK_CHK(Tuple);
+ BIN_CONTENT_CHK(Tuple);
llen = (int) list_len(ist, self);
for (i=0; i < llen; i++) {
hash_obj = call_func0(ist, list_item(ist, self, i), SYM(__HASH__));
@@ -342,7 +342,7 @@
obj_p res, list_obj = self->data.ptr;
size_t lsiz = listsize(list_obj);
size_t llen = listlen(list_obj);
- BIN_OK_CHK(Tgen);
+ BIN_CONTENT_CHK(Tgen);
if (llen == lsiz) {
raise_exception(ist, OBJ(STOP_ITERATION_EXC), NULL);
return NULL;
Modified: trunk/src/parser_routines.c
===================================================================
--- trunk/src/parser_routines.c 2004-05-02 04:07:13 UTC (rev 442)
+++ trunk/src/parser_routines.c 2004-05-02 04:58:18 UTC (rev 443)
@@ -1353,7 +1353,8 @@
code_p int_to_obj(void* param, i64_t num){
code_p res;
obj_p obj = new_object(IST, OBJ(INT_PROTO));
- *((i64_t*) obj_malloc(IST, OBJ(INT_PROTO), obj, sizeof(i64_t))) = num;
+ obj->data_type = DATA_TYPE_IMMDATA;
+ obj->data.i64 = num;
res = new_code(param, 2, 1, 1, OP_PUSH);
res->code_data[0].bytecode.param = 2;
res->code_data[1].data = obj;