本文整理汇总了C++中MyMalloc函数的典型用法代码示例。如果您正苦于以下问题:C++ MyMalloc函数的具体用法?C++ MyMalloc怎么用?C++ MyMalloc使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了MyMalloc函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: TakeOwnershipOfFile
/**************************************************************************
* TakeOwnershipOfFile [[email protected]]
*
* Takes the ownership of the given file.
*
* PARAMS
* lpFileName [I] Name of the file
*
* RETURNS
* Success: ERROR_SUCCESS
* Failure: other
*/
DWORD WINAPI TakeOwnershipOfFile(LPCWSTR lpFileName)
{
SECURITY_DESCRIPTOR SecDesc;
HANDLE hToken = NULL;
PTOKEN_OWNER pOwner = NULL;
DWORD dwError;
DWORD dwSize;
TRACE("%s\n", debugstr_w(lpFileName));
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken))
return GetLastError();
if (!GetTokenInformation(hToken, TokenOwner, NULL, 0, &dwSize))
{
goto fail;
}
pOwner = (PTOKEN_OWNER)MyMalloc(dwSize);
if (pOwner == NULL)
{
CloseHandle(hToken);
return ERROR_NOT_ENOUGH_MEMORY;
}
if (!GetTokenInformation(hToken, TokenOwner, pOwner, dwSize, &dwSize))
{
goto fail;
}
if (!InitializeSecurityDescriptor(&SecDesc, SECURITY_DESCRIPTOR_REVISION))
{
goto fail;
}
if (!SetSecurityDescriptorOwner(&SecDesc, pOwner->Owner, FALSE))
{
goto fail;
}
if (!SetFileSecurityW(lpFileName, OWNER_SECURITY_INFORMATION, &SecDesc))
{
goto fail;
}
MyFree(pOwner);
CloseHandle(hToken);
return ERROR_SUCCESS;
fail:;
dwError = GetLastError();
MyFree(pOwner);
if (hToken != NULL)
CloseHandle(hToken);
return dwError;
}
开发者ID:RareHare,项目名称:reactos,代码行数:72,代码来源:misc.c
示例2: SetupGetFileCompressionInfoW
/***********************************************************************
* SetupGetFileCompressionInfoW ([email protected])
*
* Get compression type and compressed/uncompressed sizes of a given file.
*
* PARAMS
* source [I] File to examine.
* name [O] Actual filename used.
* source_size [O] Size of compressed file.
* target_size [O] Size of uncompressed file.
* type [O] Compression type.
*
* RETURNS
* Success: ERROR_SUCCESS
* Failure: Win32 error code.
*/
DWORD WINAPI SetupGetFileCompressionInfoW( PCWSTR source, PWSTR *name, PDWORD source_size,
PDWORD target_size, PUINT type )
{
BOOL ret;
DWORD error, required;
LPWSTR actual_name;
TRACE("%s, %p, %p, %p, %p\n", debugstr_w(source), name, source_size, target_size, type);
if (!source || !name || !source_size || !target_size || !type)
return ERROR_INVALID_PARAMETER;
ret = SetupGetFileCompressionInfoExW( source, NULL, 0, &required, NULL, NULL, NULL );
if (!(actual_name = MyMalloc( required*sizeof(WCHAR) ))) return ERROR_NOT_ENOUGH_MEMORY;
ret = SetupGetFileCompressionInfoExW( source, actual_name, required, &required,
source_size, target_size, type );
if (!ret)
{
error = GetLastError();
MyFree( actual_name );
return error;
}
*name = actual_name;
return ERROR_SUCCESS;
}
开发者ID:RareHare,项目名称:reactos,代码行数:42,代码来源:misc.c
示例3: sizeof
aServer *make_server(aClient *cptr)
{
aServer *serv = cptr->serv;
if (!serv)
{
serv = (aServer *)MyMalloc(sizeof(aServer));
memset(serv, 0, sizeof(aServer));
#ifdef DEBUGMODE
servs.inuse++;
#endif
cptr->serv = serv;
cptr->name = serv->namebuf;
*serv->namebuf = '\0';
serv->user = NULL;
serv->snum = -1;
*serv->by = '\0';
serv->up = NULL;
serv->refcnt = 1;
serv->nexts = NULL;
serv->prevs = NULL;
serv->bcptr = cptr;
serv->lastload = 0;
}
return cptr->serv;
}
开发者ID:DanielOaks,项目名称:irc2-mirror,代码行数:26,代码来源:list.c
示例4:
aClass *make_class()
{
aClass *tmp;
tmp = (aClass *)MyMalloc(sizeof(aClass));
return tmp;
}
开发者ID:diegoagudo,项目名称:ptlink.ircd,代码行数:7,代码来源:list.c
示例5: init_events
int
init_events()
{
struct timeval tv;
struct event *timer = MyMalloc(sizeof(struct event));
// struct event *sigint = MyMalloc(sizeof(struct event));
ev_base = event_init();
event_set_log_callback(&libevent_log_cb);
if(evdns_init() == -1)
{
ilog(L_ERROR, "libevent dns init failed");
return FALSE;
}
ilog(L_DEBUG, "libevent init %p", ev_base);
memset(&tv, 0, sizeof(tv));
tv.tv_usec = 100;
event_set(timer, -1, EV_PERSIST, timer_callback, timer);
event_base_set(ev_base, timer);
evtimer_add(timer, &tv);
/* event_set(sigint, SIGINT, EV_SIGNAL|EV_PERSIST, sigint_callback, sigint);
event_add(sigint, NULL);*/
return TRUE;
}
开发者ID:Adam-,项目名称:oftc-ircservices,代码行数:31,代码来源:event.c
示例6: crypt_pass
char *
crypt_pass(char *password, int encode)
{
EVP_MD_CTX *mdctx;
const EVP_MD *md;
unsigned char md_value[EVP_MAX_MD_SIZE];
char buffer[2*DIGEST_LEN + 1];
char *ret;
unsigned int md_len;
md = EVP_get_digestbyname(DIGEST_FUNCTION);
mdctx = EVP_MD_CTX_create();
EVP_MD_CTX_init(mdctx);
EVP_DigestInit_ex(mdctx, md, NULL);
EVP_DigestUpdate(mdctx, password, strlen(password));
EVP_DigestFinal_ex(mdctx, md_value, &md_len);
EVP_MD_CTX_destroy(mdctx);
if(encode)
{
base16_encode(buffer, sizeof(buffer), (char *)md_value, DIGEST_LEN);
DupString(ret, buffer);
}
else
{
ret = MyMalloc(DIGEST_LEN);
memcpy(ret, md_value, DIGEST_LEN);
}
return ret;
}
开发者ID:oftc,项目名称:oftc-ircservices,代码行数:31,代码来源:crypt.c
示例7: main
int main(int argc, char **argv)
{
char* pw, *crypted_pw;
crypt_mechs_root = (crypt_mechs_t*)MyMalloc(sizeof(crypt_mechs_t));
crypt_mechs_root->mech = NULL;
crypt_mechs_root->next = crypt_mechs_root->prev = NULL;
if (argc < 2)
{
show_help();
exit(0);
}
pw = parse_arguments(argc, argv);
load_mechs();
if (NULL == umkpasswd_conf->mech)
{
fprintf(stderr, "No mechanism specified.\n");
abort();
}
if (NULL == pw)
{
pw = getpass("Password: ");
}
crypted_pw = crypt_pass(pw, umkpasswd_conf->mech);
printf("Crypted Pass: %s\n", crypted_pw);
memset(pw, 0, strlen(pw));
return 0;
}
开发者ID:NX-Andro,项目名称:nefarious,代码行数:34,代码来源:umkpasswd.c
示例8: init_tree_parse
/* Initialize the msgtab parsing tree -orabidoo
*/
void init_tree_parse(struct Message *mptr)
{
int i;
struct Message *mpt = mptr;
for (i=0; mpt->cmd; mpt++)
i++;
qsort((void *)mptr, i, sizeof(struct Message),
(int (*)(const void *, const void *)) mcmp);
expect_malloc;
msg_tree_root = (MESSAGE_TREE *)MyMalloc(sizeof(MESSAGE_TREE));
malloc_log("init_tree_parse() allocating MESSAGE_TREE (%zd bytes) at %p",
sizeof(MESSAGE_TREE), (void *)msg_tree_root);
mpt = do_msg_tree(msg_tree_root, "", mptr);
/*
* this happens if one of the msgtab entries included characters
* other than capital letters -orabidoo
*/
if (mpt->cmd)
{
logprintf(L_CRIT, "bad msgtab entry: ``%s''\n", mpt->cmd);
exit(1);
}
}
开发者ID:BackupTheBerlios,项目名称:phoenixfn-svn,代码行数:27,代码来源:parse.c
示例9: AddBan
void
AddBan(char *who, struct Channel *cptr, char *ban)
{
time_t CurrTime = current_ts;
struct ChannelBan *tempban;
/* don't add any duplicates -- jilles */
if (FindBan(cptr, ban) != NULL)
return;
tempban = (struct ChannelBan *) MyMalloc(sizeof(struct ChannelBan));
memset(tempban, 0, sizeof(struct ChannelBan));
if (who)
tempban->who = MyStrdup(who);
tempban->mask = MyStrdup(ban);
tempban->when = CurrTime;
tempban->next = cptr->firstban;
tempban->prev = NULL;
if (tempban->next)
tempban->next->prev = tempban;
cptr->firstban = tempban;
} /* AddBan() */
开发者ID:BackupTheBerlios,项目名称:phoenixfn-svn,代码行数:26,代码来源:channel.c
示例10: UnicodeToMultiByte
/**************************************************************************
* UnicodeToMultiByte [[email protected]]
*
* Converts a Unicode string to a multi-byte string.
*
* PARAMS
* lpUnicodeStr [I] Unicode string to be converted
* uCodePage [I] Code page
*
* RETURNS
* Success: pointer to the converted multi-byte string
* Failure: NULL
*
* NOTE
* Use MyFree to release the returned multi-byte string.
*/
LPSTR WINAPI UnicodeToMultiByte(LPCWSTR lpUnicodeStr, UINT uCodePage)
{
LPSTR lpMultiByteStr;
int nLength;
TRACE("%s %d\n", debugstr_w(lpUnicodeStr), uCodePage);
nLength = WideCharToMultiByte(uCodePage, 0, lpUnicodeStr, -1,
NULL, 0, NULL, NULL);
if (nLength == 0)
return NULL;
lpMultiByteStr = MyMalloc(nLength);
if (lpMultiByteStr == NULL)
return NULL;
if (!WideCharToMultiByte(uCodePage, 0, lpUnicodeStr, -1,
lpMultiByteStr, nLength, NULL, NULL))
{
MyFree(lpMultiByteStr);
return NULL;
}
return lpMultiByteStr;
}
开发者ID:NVIDIA,项目名称:winex_lgpl,代码行数:41,代码来源:misc.c
示例11: ReadLCDRegister
/***************************************************************************************************
*FunctionName: ReadLCDRegister
*Description: 读取屏幕寄存器值
*Input: reg -- 寄存器地址
* len -- 读取长度
*Output:
*Return:
*Author: xsx
*Date: 2016年12月12日11:01:48
***************************************************************************************************/
static void ReadLCDRegister(unsigned char reg, unsigned char len)
{
char *q = NULL;
txdat = MyMalloc(16);
if(txdat == NULL)
return;
memset(txdat, 0, 16);
q = txdat;
*q++ = LCD_Head_1;
*q++ = LCD_Head_2;
*q++ = 1 + 4;
*q++ = R_REGSITER;
*q++ = reg;
*q++ = len;
CalModbusCRC16Fun2(txdat+3, 1 + 2, q);
SendDataToQueue(GetUsart6TXQueue(), NULL, txdat, txdat[2]+3, 1, 50 / portTICK_RATE_MS, 100 / portTICK_RATE_MS, EnableUsart6TXInterrupt);
MyFree(txdat);
}
开发者ID:xsxkair,项目名称:NCD_YGFXY,代码行数:37,代码来源:LCD_Driver.c
示例12: AddException
void
AddException(char *who, struct Channel *cptr, char *mask)
{
struct Exception *tempe;
/* don't add any duplicates -- jilles */
if (FindException(cptr, mask) != NULL)
return;
tempe = (struct Exception *) MyMalloc(sizeof(struct Exception));
memset(tempe, 0, sizeof(struct Exception));
if (who)
tempe->who = MyStrdup(who);
tempe->mask = MyStrdup(mask);
tempe->when = current_ts;
tempe->next = cptr->exceptlist;
tempe->prev = NULL;
if (tempe->next)
tempe->next->prev = tempe;
cptr->exceptlist = tempe;
} /* AddException() */
开发者ID:BackupTheBerlios,项目名称:phoenixfn-svn,代码行数:26,代码来源:channel.c
示例13: WriteLCDRegister
/***************************************************************************************************
*FunctionName: WriteRegister
*Description: 写寄存器
*Input: reg -- 寄存器地址
* data -- 写入数据
* datalen -- 写入数据的长度
*Output: 无
*Author: xsx
*Date: 2016年8月5日15:18:01
***************************************************************************************************/
static void WriteLCDRegister(unsigned char reg, void *data, unsigned char len)
{
char *q = NULL;
unsigned char *p = (unsigned char *)data;
unsigned char i=0;
txdat = MyMalloc(len + 10);
if(txdat == NULL)
return;
memset(txdat, 0, len + 10);
q = txdat;
*q++ = LCD_Head_1;
*q++ = LCD_Head_2;
*q++ = len+4;
*q++ = W_REGSITER;
*q++ = reg;
for(i=0; i<len; i++)
*q++ = *p++;
CalModbusCRC16Fun2(txdat+3, len + 2, q);
SendDataToQueue(GetUsart6TXQueue(), NULL, txdat, txdat[2]+3, 1, 50 / portTICK_RATE_MS, 100 / portTICK_RATE_MS, EnableUsart6TXInterrupt);
MyFree(txdat);
}
开发者ID:xsxkair,项目名称:NCD_YGFXY,代码行数:40,代码来源:LCD_Driver.c
示例14: inithashtables
void inithashtables(void)
{
Reg int i;
clear_client_hash_table((_HASHSIZE) ? _HASHSIZE : HASHSIZE);
clear_uid_hash_table((_UIDSIZE) ? _UIDSIZE : UIDSIZE);
clear_channel_hash_table((_CHANNELHASHSIZE) ? _CHANNELHASHSIZE
: CHANNELHASHSIZE);
clear_sid_hash_table((_SIDSIZE) ? _SIDSIZE : SIDSIZE);
#ifdef USE_HOSTHASH
clear_hostname_hash_table((_HOSTNAMEHASHSIZE) ? _HOSTNAMEHASHSIZE :
HOSTNAMEHASHSIZE);
#endif
#ifdef USE_IPHASH
clear_ip_hash_table((_IPHASHSIZE) ? _IPHASHSIZE : IPHASHSIZE);
#endif
/*
* Moved multiplication out from the hashfunctions and into
* a pre-generated lookup table. Should save some CPU usage
* even on machines with a fast mathprocessor. -- Core
*/
hashtab = (u_int *) MyMalloc(256 * sizeof(u_int));
for (i = 0; i < 256; i++)
hashtab[i] = tolower((char)i) * 109;
}
开发者ID:NoelMinamino,项目名称:irc,代码行数:26,代码来源:hash.c
示例15: init_begin
static int init_begin(adns_state *ads_r, adns_initflags flags, FBFILE *diagfile)
{
adns_state ads;
ads = MyMalloc(sizeof(*ads));
/* Under hybrid, MyMalloc would have aborted already */
#if 0
if (!ads) return errno;
#endif
ads->iflags= flags;
ads->diagfile= diagfile;
ads->configerrno= 0;
ADNS_LIST_INIT(ads->udpw);
ADNS_LIST_INIT(ads->tcpw);
ADNS_LIST_INIT(ads->childw);
ADNS_LIST_INIT(ads->output);
ads->forallnext= 0;
ads->nextid= 0x311f;
ads->udpsocket= ads->tcpsocket= -1;
adns__vbuf_init(&ads->tcpsend);
adns__vbuf_init(&ads->tcprecv);
ads->tcprecv_skip= 0;
ads->nservers= ads->nsortlist= ads->nsearchlist= ads->tcpserver= 0;
ads->searchndots= 1;
ads->tcpstate= server_disconnected;
timerclear(&ads->tcptimeout);
ads->searchlist= 0;
*ads_r= ads;
return 0;
}
开发者ID:Cloudxtreme,项目名称:ircd-3,代码行数:34,代码来源:setup.c
示例16: QueryRegistryValue
/**************************************************************************
* QueryRegistryValue [[email protected]]
*
* Retrieves value data from the registry and allocates memory for the
* value data.
*
* PARAMS
* hKey [I] Handle of the key to query
* lpValueName [I] Name of value under hkey to query
* lpData [O] Destination for the values contents,
* lpType [O] Destination for the value type
* lpcbData [O] Destination for the size of data
*
* RETURNS
* Success: ERROR_SUCCESS
* Failure: Otherwise
*
* NOTES
* Use MyFree to release the lpData buffer.
*/
LONG WINAPI QueryRegistryValue(HKEY hKey,
LPCWSTR lpValueName,
LPBYTE *lpData,
LPDWORD lpType,
LPDWORD lpcbData)
{
LONG lError;
TRACE("%p %s %p %p %p\n",
hKey, debugstr_w(lpValueName), lpData, lpType, lpcbData);
/* Get required buffer size */
*lpcbData = 0;
lError = RegQueryValueExW(hKey, lpValueName, 0, lpType, NULL, lpcbData);
if (lError != ERROR_SUCCESS)
return lError;
/* Allocate buffer */
*lpData = MyMalloc(*lpcbData);
if (*lpData == NULL)
return ERROR_NOT_ENOUGH_MEMORY;
/* Query registry value */
lError = RegQueryValueExW(hKey, lpValueName, 0, lpType, *lpData, lpcbData);
if (lError != ERROR_SUCCESS)
MyFree(*lpData);
return lError;
}
开发者ID:NVIDIA,项目名称:winex_lgpl,代码行数:49,代码来源:misc.c
示例17: strlen
/*
** Get Channel block for i (and allocate a new channel
** block, if it didn't exists before).
*/
aChannel *get_channel(aClient *cptr, char *chname, int flag)
{
aChannel *chptr;
int len;
if (BadPtr(chname))
return NULL;
len = strlen(chname);
if (MyClient(cptr) && len > CHANNELLEN)
{
len = CHANNELLEN;
*(chname + CHANNELLEN) = '\0';
}
if ((chptr = find_channel(chname, (aChannel *)NULL)))
return (chptr);
if (flag == CREATE)
{
chptr = (aChannel *)MyMalloc(sizeof(aChannel) + len);
bzero((char *)chptr, sizeof(aChannel));
strncpyzt(chptr->chname, chname, len + 1);
if (channel)
channel->prevch = chptr;
chptr->topic = NULL;
chptr->topic_nick = NULL;
chptr->prevch = NULL;
chptr->nextch = channel;
chptr->creationtime = MyClient(cptr) ? TStime() : (TS)0;
channel = chptr;
(void)add_to_channel_hash_table(chname, chptr);
IRCstats.channels++;
RunHook2(HOOKTYPE_CHANNEL_CREATE, cptr, chptr);
}
return chptr;
}
开发者ID:HengeSense,项目名称:Technokats-Website,代码行数:39,代码来源:channel.c
示例18: SystemReset
/***************************************************************************************************
*FunctionName: SystemReset
*Description: 恢复出厂设置
*Input:
*Output:
*Return:
*Author: xsx
*Date: 2017年2月16日11:20:46
***************************************************************************************************/
MyState_TypeDef SystemReset(void)
{
SystemSetData * systemSetData = NULL;
systemSetData = MyMalloc(sizeof(SystemSetData));
if(systemSetData)
{
//恢复默认
setDefaultSystemSetData(systemSetData);
//保留设备信息
getDeviceInfo(&(systemSetData->deviceInfo));
//保留已校准的led值
systemSetData->testLedLightIntensity = getTestLedLightIntensity(getGBSystemSetData());
if(My_Pass != SaveSystemSetData(systemSetData))
return My_Fail;
}
else
return My_Fail;
//删除操作人
if(My_Fail == ClearUsers())
return My_Fail;
//删除wifi数据
if(My_Fail == ClearWifi())
return My_Fail;
return My_Pass;
}
开发者ID:xsxkair,项目名称:NCD_YGFXY,代码行数:39,代码来源:SystemResetFun.c
示例19: register_mapping
/** Registers a service mapping to the pseudocommand handler.
* @param[in] map Service mapping to add.
* @return Non-zero on success; zero if a command already used the name.
*/
int register_mapping(struct s_map *map)
{
struct Message *msg;
if (msg_tree_parse(map->command, &msg_tree))
return 0;
msg = (struct Message *)MyMalloc(sizeof(struct Message));
msg->cmd = map->command;
msg->tok = map->command;
msg->count = 0;
msg->parameters = 2;
msg->flags = MFLG_EXTRA;
if (!(map->flags & SMAP_FAST))
msg->flags |= MFLG_SLOW;
msg->bytes = 0;
msg->extra = map;
msg->handlers[UNREGISTERED_HANDLER] = m_ignore;
msg->handlers[CLIENT_HANDLER] = m_pseudo;
msg->handlers[SERVER_HANDLER] = m_ignore;
msg->handlers[OPER_HANDLER] = m_pseudo;
msg->handlers[SERVICE_HANDLER] = m_ignore;
add_msg_element(&msg_tree, msg, msg->cmd);
map->msg = msg;
return 1;
}
开发者ID:andriesgroen,项目名称:nefarious2,代码行数:33,代码来源:parse.c
示例20: make_zline
/** Create a Zline structure.
* @param[in] mask Mask.
* @param[in] reason Reason for Z-line.
* @param[in] expire Expiration timestamp.
* @param[in] lastmod Last modification timestamp.
* @param[in] flags Bitwise combination of ZLINE_* bits.
* @return Newly allocated Z-line.
*/
static struct Zline *
make_zline(char *mask, char *reason, time_t expire, time_t lastmod,
time_t lifetime, unsigned int flags)
{
struct Zline *zline;
assert(0 != expire);
zline = (struct Zline *)MyMalloc(sizeof(struct Zline)); /* alloc memory */
assert(0 != zline);
DupString(zline->zl_reason, reason); /* initialize zline... */
zline->zl_expire = expire;
zline->zl_lifetime = lifetime;
zline->zl_lastmod = lastmod;
zline->zl_flags = flags & ZLINE_MASK;
zline->zl_state = ZLOCAL_GLOBAL; /* not locally modified */
DupString(zline->zl_mask, mask);
if (ipmask_parse(mask, &zline->zl_addr, &zline->zl_bits)) {
zline->zl_flags |= ZLINE_IPMASK;
zline->zl_addr = ipmask_clean(&zline->zl_addr, zline->zl_bits);
}
zline->zl_next = GlobalZlineList; /* then link it into list */
zline->zl_prev_p = &GlobalZlineList;
if (GlobalZlineList)
GlobalZlineList->zl_prev_p = &zline->zl_next;
GlobalZlineList = zline;
return zline;
}
开发者ID:evilnet,项目名称:nefarious2,代码行数:41,代码来源:zline.c
注:本文中的MyMalloc函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论