📄 memset.c
字号:
/* *---------------------------------------------------------------------- * T-Kernel / Standard Extension * * Copyright (C) 2006 by Ken Sakamura. All rights reserved. * T-Kernel / Standard Extension is distributed * under the T-License for T-Kernel / Standard Extension. *---------------------------------------------------------------------- * * Version: 1.00.00 * Released by T-Engine Forum(http://www.t-engine.org) at 2006/8/11. * *---------------------------------------------------------------------- *//* * @(#)memset.c * */#include <basic.h>#include <string.h>#define BOUND_4B_MSK 0x00000003 /* mask for boundary */void *memset(void *mem, int ch, size_t len){ void *m = mem; size_t l; UW c; c = (UB)ch; c |= (c << 8U); c |= (c << 16U); l = (unsigned)m & BOUND_4B_MSK; if ( l > 0 ) { l = 4U - l; if ( l > len ) { l = len; } len -= l; while ( l-- > 0 ) { *((UB*)m) = (UB)c; m = (VP)((UB*)m + 1); } } l = len >> 2U; if ( l > 0 ) { len &= BOUND_4B_MSK; while ( l-- > 0 ) { *((UW*)m) = c; m = (VP)((UW*)m + 1); } } while ( len-- > 0 ) { *((UB*)m) = (UB)c; m = (VP)((UB*)m + 1); } return mem;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -