got the ffi module to work in the basics at least
This commit is contained in:
		| @ -2948,6 +2948,17 @@ HAWK_EXPORT hawk_val_t* hawk_rtx_makembsvalwithucs ( | ||||
| 	const hawk_ucs_t* ucs | ||||
| ); | ||||
|  | ||||
| HAWK_EXPORT hawk_val_t* hawk_rtx_makembsvalwithbcstr ( | ||||
| 	hawk_rtx_t*       rtx, | ||||
| 	const hawk_bch_t* bcs | ||||
| ); | ||||
|  | ||||
| HAWK_EXPORT hawk_val_t* hawk_rtx_makembsvalwithucstr ( | ||||
| 	hawk_rtx_t*       rtx, | ||||
| 	const hawk_uch_t* ucs | ||||
| ); | ||||
|  | ||||
|  | ||||
| HAWK_EXPORT hawk_val_t* hawk_rtx_makembsvalwithuchars2 ( | ||||
| 	hawk_rtx_t*       rtx, | ||||
| 	const hawk_uch_t* ucs1, | ||||
|  | ||||
| @ -354,8 +354,7 @@ void* hawk_stdmodopen (hawk_t* hawk, const hawk_mod_spec_t* spec) | ||||
|  | ||||
| 	lt_dladvise_destroy (&adv); | ||||
|  | ||||
| 	HAWK_MMGR_FREE (hawk_getmmgr(hawk), modpath); | ||||
|  | ||||
| 	if (modpath) hawk_freemem(hawk, modpath); | ||||
| 	return h; | ||||
|  | ||||
| #elif defined(_WIN32) | ||||
| @ -386,7 +385,7 @@ void* hawk_stdmodopen (hawk_t* hawk, const hawk_mod_spec_t* spec) | ||||
| 	modpath = hawk_dupoocstrarr(hawk, tmp, HAWK_NULL); | ||||
| 	if (!modpath) return HAWK_NULL; | ||||
|  | ||||
| 	h = LoadLibrary (modpath); | ||||
| 	h = LoadLibrary(modpath); | ||||
| 	if (!h) hawk_seterrnum (hawk, HAWK_NULL, hawk_syserr_to_errnum(GetLastError()); | ||||
|  | ||||
| 	hawk_freemem (hawk, modpath); | ||||
| @ -427,7 +426,7 @@ void* hawk_stdmodopen (hawk_t* hawk, const hawk_mod_spec_t* spec) | ||||
|  | ||||
| 	/* DosLoadModule() seems to have severe limitation on  | ||||
| 	 * the file name it can load (max-8-letters.xxx) */ | ||||
| 	rc = DosLoadModule (errbuf, HAWK_COUNTOF(errbuf) - 1, modpath, &h); | ||||
| 	rc = DosLoadModule(errbuf, HAWK_COUNTOF(errbuf) - 1, modpath, &h); | ||||
| 	if (rc != NO_ERROR)  | ||||
| 	{ | ||||
| 		h = HAWK_NULL; | ||||
|  | ||||
| @ -908,6 +908,16 @@ hawk_val_t* hawk_rtx_makembsvalwithucs (hawk_rtx_t* rtx, const hawk_ucs_t* ucs) | ||||
| 	return hawk_rtx_makembsvalwithuchars(rtx, ucs->ptr, ucs->len); | ||||
| } | ||||
|  | ||||
|  | ||||
| hawk_val_t* hawk_rtx_makembsvalwithbcstr (hawk_rtx_t* rtx, const hawk_bch_t* bcs) | ||||
| { | ||||
| 	return make_mbs_val(rtx, bcs, hawk_count_bcstr(bcs), HAWK_NULL, 0); | ||||
| } | ||||
|  | ||||
| hawk_val_t* hawk_rtx_makembsvalwithucstr (hawk_rtx_t* rtx, const hawk_uch_t* ucs) | ||||
| { | ||||
| 	return hawk_rtx_makembsvalwithuchars(rtx, ucs, hawk_count_ucstr(ucs)); | ||||
| } | ||||
| /* --------------------------------------------------------------------- */ | ||||
|  | ||||
| hawk_val_t* hawk_rtx_makembsvalwithuchars2 (hawk_rtx_t* rtx, const hawk_uch_t* ucs1, hawk_oow_t len1, const hawk_uch_t* ucs2, hawk_oow_t len2) | ||||
|  | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user