1 /*** 2 *mbsninc.c - Increment MBCS string pointer by specified char count. 3 * 4 * Copyright (c) Microsoft Corporation. All rights reserved. 5 * 6 *Purpose: 7 * Increment MBCS string pointer by specified char count. 8 * 9 *******************************************************************************/ 10 #ifndef _MBCS 11 #error This file should only be compiled with _MBCS defined 12 #endif 13 14 #include <corecrt_internal_mbstring.h> 15 #include <mbstring.h> 16 #include <stddef.h> 17 18 /*** 19 *_mbsninc - Increment MBCS string pointer by specified char count. 20 * 21 *Purpose: 22 * Increment the supplied string pointer by the specified number 23 * of characters. MBCS characters are handled correctly. 24 * 25 *Entry: 26 * const unsigned char *string = pointer to string 27 * unsigned int ccnt = number of char to advance the pointer 28 * 29 *Exit: 30 * Returns pointer after advancing it. 31 * Returns pointer to end of string if string is not ccnt chars long. 32 * Returns nullptr is supplied pointer is nullptr. 33 * 34 *Exceptions: 35 * 36 *******************************************************************************/ 37 38 extern "C" unsigned char * __cdecl _mbsninc_l( 39 const unsigned char *string, 40 size_t ccnt, 41 _locale_t plocinfo 42 ) 43 { 44 if (string == nullptr) 45 return nullptr; 46 47 return const_cast<unsigned char*>(string) + (unsigned int)_mbsnbcnt_l(string, ccnt, plocinfo); 48 } 49 50 extern "C" unsigned char * (__cdecl _mbsninc)( 51 const unsigned char *string, 52 size_t ccnt 53 ) 54 { 55 return _mbsninc_l(string, ccnt, nullptr); 56 } 57