added lib/mb8.c
This commit is contained in:
		
							
								
								
									
										41
									
								
								moo/lib/mb8.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								moo/lib/mb8.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,41 @@ | |||||||
|  | /* | ||||||
|  |  * $Id$ | ||||||
|  |  * | ||||||
|  |     Copyright (c) 2014-2018 Chung, Hyung-Hwan. All rights reserved. | ||||||
|  |  | ||||||
|  |     Redistribution and use in source and binary forms, with or without | ||||||
|  |     modification, are permitted provided that the following conditions | ||||||
|  |     are met: | ||||||
|  |     1. Redistributions of source code must retain the above copyright | ||||||
|  |        notice, this list of conditions and the following disclaimer. | ||||||
|  |     2. Redistributions in binary form must reproduce the above copyright | ||||||
|  |        notice, this list of conditions and the following disclaimer in the | ||||||
|  |        documentation and/or other materials provided with the distribution. | ||||||
|  |  | ||||||
|  |     THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR | ||||||
|  |     IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||||||
|  |     OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||||||
|  |     IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||||||
|  |     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||||||
|  |     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||||||
|  |     DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||||||
|  |     THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  |     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||||
|  |     THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "moo-prv.h" | ||||||
|  |  | ||||||
|  | moo_oow_t moo_uc_to_mb8 (moo_uch_t wc, moo_bch_t* mb8, moo_oow_t size) | ||||||
|  | { | ||||||
|  | 	if (size <= 0) return size + 1; /* buffer too small */ | ||||||
|  | 	if (wc > MOO_TYPE_MAX(moo_uint8_t)) return 0; /* illegal character */ | ||||||
|  | 	if (mb8) *(moo_uint8_t*)mb8 = wc; | ||||||
|  | 	return 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | moo_oow_t moo_mb8_to_uc (const moo_bch_t* mb8, moo_oow_t size, moo_uch_t* wc) | ||||||
|  | { | ||||||
|  | 	*wc = *(const moo_uint8_t*)mb8; | ||||||
|  | 	return 1; | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user