comparison src/macros.h @ 474:a5fcf36ef512 v7.0127

updated for version 7.0127
author vimboss
date Wed, 10 Aug 2005 21:07:57 +0000
parents c4d200412ae9
children 81c06952fb1d
comparison
equal deleted inserted replaced
473:4a7320e53f32 474:a5fcf36ef512
252 * multi-byte characters if needed. 252 * multi-byte characters if needed.
253 * MB_COPY_CHAR(f, t): copy one char from "f" to "t" and advance the pointers. 253 * MB_COPY_CHAR(f, t): copy one char from "f" to "t" and advance the pointers.
254 * PTR2CHAR(): get character from pointer. 254 * PTR2CHAR(): get character from pointer.
255 */ 255 */
256 #ifdef FEAT_MBYTE 256 #ifdef FEAT_MBYTE
257 # define mb_ptr_adv(p) p += has_mbyte ? (*mb_ptr2len_check)(p) : 1 257 /* Advance multi-byte pointer, skip over composing chars. */
258 # define mb_ptr_adv(p) p += has_mbyte ? (*mb_ptr2len)(p) : 1
259 /* Advance multi-byte pointer, do not skip over composing chars. */
260 # define mb_cptr_adv(p) p += enc_utf8 ? utf_ptr2len(p) : has_mbyte ? (*mb_ptr2len)(p) : 1
261 /* Backup multi-byte pointer. */
258 # define mb_ptr_back(s, p) p -= has_mbyte ? ((*mb_head_off)(s, p - 1) + 1) : 1 262 # define mb_ptr_back(s, p) p -= has_mbyte ? ((*mb_head_off)(s, p - 1) + 1) : 1
263 /* get length of multi-byte char, not including composing chars */
264 # define mb_cptr2len(p) (enc_utf8 ? utf_ptr2len(p) : (*mb_ptr2len)(p))
265
259 # define MB_COPY_CHAR(f, t) if (has_mbyte) mb_copy_char(&f, &t); else *t++ = *f++ 266 # define MB_COPY_CHAR(f, t) if (has_mbyte) mb_copy_char(&f, &t); else *t++ = *f++
260 # define MB_CHARLEN(p) (has_mbyte ? mb_charlen(p) : STRLEN(p)) 267 # define MB_CHARLEN(p) (has_mbyte ? mb_charlen(p) : STRLEN(p))
261 # define PTR2CHAR(p) (has_mbyte ? mb_ptr2char(p) : *(p)) 268 # define PTR2CHAR(p) (has_mbyte ? mb_ptr2char(p) : (int)*(p))
262 #else 269 #else
263 # define mb_ptr_adv(p) ++p 270 # define mb_ptr_adv(p) ++p
271 # define mb_cptr_adv(p) ++p
264 # define mb_ptr_back(s, p) --p 272 # define mb_ptr_back(s, p) --p
265 # define MB_COPY_CHAR(f, t) *t++ = *f++ 273 # define MB_COPY_CHAR(f, t) *t++ = *f++
266 # define MB_CHARLEN(p) STRLEN(p) 274 # define MB_CHARLEN(p) STRLEN(p)
267 # define PTR2CHAR(p) (*(p)) 275 # define PTR2CHAR(p) ((int)*(p))
268 #endif 276 #endif