diff options
| author | 2023-03-22 10:35:33 -0400 | |
|---|---|---|
| committer | 2023-03-22 10:35:33 -0400 | |
| commit | 907b90a6e0936524dbd2d9798bfcbffdca1fd059 (patch) | |
| tree | 7c5dfd6c1470150ed001b21d575c8ad809280058 | |
| parent | docs: update prefixes to be accurate (diff) | |
native: remove extern by adding a getjurl fn
| -rw-r--r-- | jurl.c | 12 | ||||
| -rw-r--r-- | jurl.h | 5 | ||||
| -rw-r--r-- | jurl_getinfo.c | 2 | ||||
| -rw-r--r-- | jurl_setopt.c | 2 |
4 files changed, 10 insertions, 11 deletions
@@ -1,6 +1,4 @@ // jurl.c - a curl_easy minimal wrapper for janet - -#define JURL_C #include "jurl.h" int jurl_gc(void *p, size_t s) { @@ -28,6 +26,10 @@ const JanetAbstractType jurl_type = { JANET_ATEND_GC }; +jurl_handle *janet_getjurl(Janet *argv, int32_t n) { + return (jurl_handle*)janet_getabstract(argv, n, &jurl_type); +} + JANET_CFUN(jurl_new) { janet_fixarity(argc, 0); jurl_handle *jurl = (jurl_handle*)janet_abstract(&jurl_type, sizeof(jurl)); @@ -49,14 +51,14 @@ struct jurl_cleanup *register_cleanup(jurl_handle *jurl, enum jurl_cleanup_type JANET_CFUN(jurl_reset) { janet_fixarity(argc, 1); - jurl_handle *jurl = (jurl_handle*)janet_getabstract(argv, 0, &jurl_type); + jurl_handle *jurl = janet_getjurl(argv, 0); curl_easy_reset(jurl->handle); return janet_wrap_abstract(jurl); } JANET_CFUN(jurl_dup) { janet_fixarity(argc, 1); - jurl_handle *jurl = (jurl_handle*)janet_getabstract(argv, 0, &jurl_type); + jurl_handle *jurl = janet_getjurl(argv, 0); jurl_handle *newj = (jurl_handle*)janet_abstract(&jurl_type, sizeof(jurl)); newj->handle = curl_easy_duphandle(jurl->handle); return janet_wrap_abstract(newj); @@ -106,7 +108,7 @@ size_t write_buffer_callback(void *contents, size_t size, size_t nmemb, void* us JANET_CFUN(jurl_perform) { janet_fixarity(argc, 1); - jurl_handle *jurl = (jurl_handle*)janet_getabstract(argv, 0, &jurl_type); + jurl_handle *jurl = (jurl_handle*)janet_getjurl(argv, 0); CURLcode res = curl_easy_perform(jurl->handle); return janet_wrap_boolean(res == CURLE_OK); } @@ -26,10 +26,7 @@ JANET_CFUN(jurl_new); JANET_CFUN(jurl_reset); JANET_CFUN(jurl_dup); JANET_CFUN(jurl_perform); - -#ifndef JURL_C -extern JANET_API const JanetAbstractType jurl_type; -#endif +jurl_handle *janet_getjurl(Janet *argv, int32_t n); // jurl_callbacks.c CURLcode jurl_setcallback(jurl_handle *jurl, CURLoption opt, JanetFunction *fun); diff --git a/jurl_getinfo.c b/jurl_getinfo.c index 830d282..95fd6be 100644 --- a/jurl_getinfo.c +++ b/jurl_getinfo.c @@ -90,7 +90,7 @@ static const struct jurl_opt jurl_opts[] = { JANET_CFUN(jurl_getinfo) { janet_fixarity(argc, 2); - jurl_handle *jurl = (jurl_handle*)janet_getabstract(argv, 0, &jurl_type); + jurl_handle *jurl = janet_getjurl(argv, 0); CURL* curl = jurl->handle; const struct jurl_opt *opt; diff --git a/jurl_setopt.c b/jurl_setopt.c index a720eed..f1e5e64 100644 --- a/jurl_setopt.c +++ b/jurl_setopt.c @@ -297,7 +297,7 @@ static const struct jurl_opt jurl_opts[] = { JANET_CFUN(jurl_setopt) { janet_fixarity(argc, 3); - jurl_handle *jurl = (jurl_handle*)janet_getabstract(argv, 0, &jurl_type); + jurl_handle *jurl = janet_getjurl(argv, 0); const struct jurl_opt *opt; Janet jopt = argv[1]; |
