Updated Branches: refs/heads/master 2e6049271 -> bcd5039af
implement couch_readfile in couchjs utils Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/bcd5039a Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/bcd5039a Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/bcd5039a Branch: refs/heads/master Commit: bcd5039afa00952635c44a9c7e0406032366755d Parents: 74d4c91 Author: Randall Leeds <rand...@apache.org> Authored: Sat Jan 7 19:43:52 2012 -0800 Committer: Randall Leeds <rand...@apache.org> Committed: Sat Jan 7 19:43:52 2012 -0800 ---------------------------------------------------------------------- src/couchdb/priv/couch_js/util.c | 14 ++++++++++++-- src/couchdb/priv/couch_js/util.h | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/couchdb/blob/bcd5039a/src/couchdb/priv/couch_js/util.c ---------------------------------------------------------------------- diff --git a/src/couchdb/priv/couch_js/util.c b/src/couchdb/priv/couch_js/util.c index f45ee38..d95151c 100644 --- a/src/couchdb/priv/couch_js/util.c +++ b/src/couchdb/priv/couch_js/util.c @@ -200,9 +200,19 @@ couch_readline(JSContext* cx, FILE* fp) } -JSObject* -couch_readfile(JSContext* cx, FILE* fp) +JSString* +couch_readfile(JSContext* cx, const char* filename) { + JSString *string; + size_t byteslen; + char *bytes; + + if((byteslen = slurp_file(filename, &bytes))) { + string = dec_string(cx, bytes, byteslen); + + free(bytes); + return string; + } return NULL; } http://git-wip-us.apache.org/repos/asf/couchdb/blob/bcd5039a/src/couchdb/priv/couch_js/util.h ---------------------------------------------------------------------- diff --git a/src/couchdb/priv/couch_js/util.h b/src/couchdb/priv/couch_js/util.h index 380ff84..d58f276 100644 --- a/src/couchdb/priv/couch_js/util.h +++ b/src/couchdb/priv/couch_js/util.h @@ -25,6 +25,7 @@ typedef struct { couch_args* couch_parse_args(int argc, const char* argv[]); int couch_fgets(char* buf, int size, FILE* fp); JSString* couch_readline(JSContext* cx, FILE* fp); +JSString* couch_readfile(JSContext* cx, const char* filename); void couch_print(JSContext* cx, uintN argc, jsval* argv); void couch_error(JSContext* cx, const char* mesg, JSErrorReport* report); JSBool couch_load_funcs(JSContext* cx, JSObject* obj, JSFunctionSpec* funcs);