本文整理汇总了C++中dFree函数的典型用法代码示例。如果您正苦于以下问题:C++ dFree函数的具体用法?C++ dFree怎么用?C++ dFree使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dFree函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getHashValue
void SimFieldDictionary::setFieldValue(StringTableEntry slotName, const char *value)
{
U32 bucket = getHashValue(slotName);
Entry **walk = &mHashTable[bucket];
while(*walk && (*walk)->slotName != slotName)
walk = &((*walk)->next);
Entry *field = *walk;
if( !value || !*value )
{
if(field)
{
mVersion++;
if( field->value )
dFree(field->value);
*walk = field->next;
freeEntry(field);
}
}
else
{
if(field)
{
if( field->value )
dFree(field->value);
field->value = dStrdup(value);
}
else
addEntry( bucket, slotName, 0, dStrdup( value ) );
}
}
示例2: Decode_gzip_free
static void Decode_gzip_free(Decode *dc)
{
(void)inflateEnd((z_stream *)dc->state);
dFree(dc->state);
dFree(dc->buffer);
}
示例3: CfcFree
void CfcFree(chfac **sf)
{
chfac *r=*sf;
if (*sf) {
iFree(&r->shead);
iFree(&r->ssize);
iFree(&r->ssub);
dFree(&r->diag);
dFree(&r->sqrtdiag);
iFree(&r->uhead);
iFree(&r->ujsze);
dFree(&r->uval);
iFree(&r->perm);
iFree(&r->subg);
iFree(&r->dhead);
iFree(&r->dbeg);
iFree(&r->dsub);
iFree(&r->iw);
dFree(&r->rw);
if (r->alldense){
r->invp=0;
r->ujbeg=0;
r->usub=0;
}else{
iFree(&r->invp);
iFree(&r->ujbeg);
iFree(&r->usub);
}
free(r);
}
*sf=NULL;
} /* CfcFree */
示例4: Http_dns_cb
/*
* Callback function for the DNS resolver.
* Continue connecting the socket, or abort upon error condition.
* S->web is checked to assert the operation wasn't aborted while waiting.
*/
static void Http_dns_cb(int Status, Dlist *addr_list, void *data)
{
int SKey = VOIDP2INT(data);
SocketData_t *S;
HostConnection_t *hc;
S = a_Klist_get_data(ValidSocks, SKey);
if (S) {
if (!a_Web_valid(S->web)) {
a_Chain_bfcb(OpAbort, S->Info, NULL, "Both");
dFree(S->Info);
Http_socket_free(SKey);
} else if (Status == 0 && addr_list) {
/* Successful DNS answer; save the IP */
S->addr_list = addr_list;
S->flags |= HTTP_SOCKET_QUEUED;
if (S->flags & HTTP_SOCKET_USE_PROXY)
hc = Http_host_connection_get(URL_HOST(HTTP_Proxy));
else
hc = Http_host_connection_get(URL_HOST(S->web->url));
Http_socket_enqueue(&hc->queue, S);
Http_connect_queued_sockets(hc);
} else {
/* DNS wasn't able to resolve the hostname */
MSG_BW(S->web, 0, "ERROR: Dns can't resolve %s",
(S->flags & HTTP_SOCKET_USE_PROXY) ? URL_HOST_(HTTP_Proxy) :
URL_HOST_(S->web->url));
a_Chain_bfcb(OpAbort, S->Info, NULL, "Both");
dFree(S->Info);
Http_socket_free(SKey);
}
}
}
示例5: Http_host_connection_remove
static void Http_host_connection_remove(HostConnection_t *hc)
{
assert(hc->queue.head == NULL);
dList_remove_fast(host_connections, hc);
dFree(hc->host);
dFree(hc);
}
示例6: Cookies_delete_node
/*
* Delete node. This will not free any cookies that might be in node->cookies.
*/
static void Cookies_delete_node(DomainNode *node)
{
dList_remove(domains, node);
dFree(node->domain);
dList_free(node->cookies);
dFree(node);
}
示例7: a_Bitvec_free
/*
* Free a bitvec
*/
void a_Bitvec_free(bitvec_t *bvec)
{
if (bvec) {
dFree(bvec->vec);
dFree(bvec);
}
}
示例8: Dpi_read_comm_keys
/*
* Read dpid's communication keys from its saved file.
* Return value: 1 on success, -1 on error.
*/
static int Dpi_read_comm_keys(int *port)
{
FILE *In;
char *fname, *rcline = NULL, *tail;
int i, ret = -1;
fname = dStrconcat(dGethomedir(), "/.dillo/dpid_comm_keys", NULL);
if ((In = fopen(fname, "r")) == NULL) {
MSG_ERR("[Dpi_read_comm_keys] %s\n", dStrerror(errno));
} else if ((rcline = dGetline(In)) == NULL) {
MSG_ERR("[Dpi_read_comm_keys] empty file: %s\n", fname);
} else {
*port = strtol(rcline, &tail, 10);
for (i = 0; *tail && isxdigit(tail[i+1]); ++i)
SharedKey[i] = tail[i+1];
SharedKey[i] = 0;
ret = 1;
}
if (In)
fclose(In);
dFree(rcline);
dFree(fname);
return ret;
}
示例9: Http_connect_queued_sockets
static void Http_connect_queued_sockets(HostConnection_t *hc)
{
SocketData_t *sd;
while (hc->active_connections < prefs.http_max_conns &&
(sd = Http_socket_dequeue(&hc->queue))) {
sd->flags &= ~HTTP_SOCKET_QUEUED;
if (sd->flags & HTTP_SOCKET_TO_BE_FREED) {
dFree(sd);
} else if (a_Web_valid(sd->web)) {
/* start connecting the socket */
if (Http_connect_socket(sd->Info) < 0) {
ChainLink *Info = sd->Info;
MSG_BW(sd->web, 1, "ERROR: %s", dStrerror(sd->Err));
a_Chain_bfcb(OpAbort, Info, NULL, "Both");
Http_socket_free(VOIDP2INT(Info->LocalKey)); /* free sd */
dFree(Info);
} else {
sd->connected_to = hc->host;
hc->active_connections++;
}
}
}
}
示例10: send_sockport
/*!
* Send socket port that matches dpi_id to client
*/
void send_sockport(int sock_fd, char *dpi_tag, struct dp *dpi_attr_list)
{
int i;
char *dpi_id, *d_cmd, port_str[16];
struct service *serv;
dReturn_if_fail((dpi_id = get_message(sock_fd, dpi_tag)) != NULL);
serv = dList_find_custom(services_list,dpi_id,(dCompareFunc)service_match);
if (serv == NULL || (i = serv->dp_index) == -1)
for (i = 0; i < numdpis; i++)
if (!strncmp(dpi_attr_list[i].id, dpi_id,
dpi_attr_list[i].id - strchr(dpi_attr_list[i].id, '.')))
break;
if (i < numdpis) {
/* found */
snprintf(port_str, 8, "%d", dpi_attr_list[i].port);
d_cmd = a_Dpip_build_cmd("cmd=%s msg=%s", "send_data", port_str);
(void) CKD_WRITE(sock_fd, d_cmd);
dFree(d_cmd);
}
dFree(dpi_id);
}
示例11: Cookies_free_cookie
static void Cookies_free_cookie(CookieData_t *cookie)
{
dFree(cookie->name);
dFree(cookie->value);
dFree(cookie->domain);
dFree(cookie->path);
dFree(cookie);
}
示例12: a_Http_freeall
/*
* Deallocate memory used by http module
* (Call this one at exit time)
*/
void a_Http_freeall(void)
{
Http_host_connection_remove_all();
a_Klist_free(&ValidSocks);
a_Url_free(HTTP_Proxy);
dFree(HTTP_Proxy_Auth_base64);
dFree(HTTP_Language_hdr);
}
示例13: Auth_parse_free
static void Auth_parse_free(AuthParse_t *auth_parse)
{
if (auth_parse) {
dFree((void *)auth_parse->realm);
dFree((void *)auth_parse->nonce);
dFree((void *)auth_parse->opaque);
dFree((void *)auth_parse->domain);
dFree(auth_parse);
}
}
示例14: dFree
void dMatrixComparison::reset()
{
for (int i=0; i<mat.size(); i++) {
dFree (mat[i]->data,mat[i]->size);
dFree (mat[i],sizeof(dMatInfo));
}
mat.setSize (0);
afterfirst = 0;
index = 0;
}
示例15: dStrstr
ASMShaderParameter* ASMShader::getNamedParameter(StringTableEntry name)
{
for(U32 i = 0; i < mParameters.size(); i++)
{
if(dStricmp(mParameters[i]->mName, name) == 0)
{
return mParameters[i];
}
}
//No parameter...
const char* paramString;
ASMShaderParameter* param = NULL;
paramString = dStrstr(mVertexSourceString, name);
if(paramString)
{
param = new ASMShaderParameter;
const char* openBracket = dStrstr(paramString, "[");
const char* closeBracket = dStrstr(paramString, "]");
char* num = (char *)dMalloc((closeBracket - openBracket + 1) * sizeof(U8));
num = dStrncpy(num, openBracket + 1, (closeBracket - (openBracket + 1)));
num[(closeBracket - (openBracket + 1))] = NULL;
param->mName = StringTable->insert(name);
param->mVertexId = dAtoi(num);
const char* env = dStrstr(paramString, "program.env");
param->mVertexIsEnv = (env != NULL && env < openBracket);
param->mFragmentId = -1;
param->mFragmentIsEnv = false;
mParameters.push_back(param);
dFree(num);
}
paramString = dStrstr(mPixelSourceString, name);
if(paramString)
{
if(!param)
{
param = new ASMShaderParameter;
mParameters.push_back(param);
param->mVertexId = -1;
param->mVertexIsEnv = false;
param->mName = StringTable->insert(name);
}
const char* openBracket = dStrstr(paramString, "[");
const char* closeBracket = dStrstr(paramString, "]");
char* num = (char *)dMalloc((closeBracket - openBracket + 1) * sizeof(U8));
num = dStrncpy(num, openBracket + 1, (closeBracket - (openBracket + 1)));
num[(closeBracket - (openBracket + 1))] = NULL;
param->mFragmentId = dAtoi(num);
const char* env = dStrstr(paramString, "program.env");
param->mFragmentIsEnv = (env != NULL && env < openBracket);
dFree(num);
}
return param;
}