mirror of
				https://github.com/janet-lang/janet
				synced 2025-10-31 07:33:01 +00:00 
			
		
		
		
	Add get/opt cbytes
Like getcstring, but operates on a byteview. When writing bindings (i.e what capi.c is primarily used for), it's common to want to accept a buffer *or* a string rather than just a string. For this, a byteview is perfect (and why not accept keywords while you're at it?). However, there's no built-in function for getting a cstring out of a byteview, this adds one. This also reformulates getcstring to be an edge-case of getcbytes (simply adding an explicit check for stringness).
This commit is contained in:
		| @@ -1968,6 +1968,7 @@ JANET_API JanetTable *janet_gettable(const Janet *argv, int32_t n); | ||||
| JANET_API JanetStruct janet_getstruct(const Janet *argv, int32_t n); | ||||
| JANET_API JanetString janet_getstring(const Janet *argv, int32_t n); | ||||
| JANET_API const char *janet_getcstring(const Janet *argv, int32_t n); | ||||
| JANET_API const char *janet_getcbytes(const Janet *argv, int32_t n); | ||||
| JANET_API JanetSymbol janet_getsymbol(const Janet *argv, int32_t n); | ||||
| JANET_API JanetKeyword janet_getkeyword(const Janet *argv, int32_t n); | ||||
| JANET_API JanetBuffer *janet_getbuffer(const Janet *argv, int32_t n); | ||||
| @@ -1997,6 +1998,7 @@ JANET_API JanetTuple janet_opttuple(const Janet *argv, int32_t argc, int32_t n, | ||||
| JANET_API JanetStruct janet_optstruct(const Janet *argv, int32_t argc, int32_t n, JanetStruct dflt); | ||||
| JANET_API JanetString janet_optstring(const Janet *argv, int32_t argc, int32_t n, JanetString dflt); | ||||
| JANET_API const char *janet_optcstring(const Janet *argv, int32_t argc, int32_t n, const char *dflt); | ||||
| JANET_API const char *janet_optcbytes(const Janet *argv, int32_t argc, int32_t n, const char *dflt); | ||||
| JANET_API JanetSymbol janet_optsymbol(const Janet *argv, int32_t argc, int32_t n, JanetString dflt); | ||||
| JANET_API JanetKeyword janet_optkeyword(const Janet *argv, int32_t argc, int32_t n, JanetString dflt); | ||||
| JANET_API JanetFiber *janet_optfiber(const Janet *argv, int32_t argc, int32_t n, JanetFiber *dflt); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Chloe Kudryavtsev
					Chloe Kudryavtsev