📄 scwfntqueue.c
字号:
/*__________________________________________________________________________
Copyright (C) 2002 PGP Corporation
All rights reserved.
$Id: SCwfNTqueue.c,v 1.3 2002/11/09 04:26:16 wjb Exp $
__________________________________________________________________________*/
#include "precomp.h"
SMQUEUE *InitSMQueue(int delay)
{
SMQUEUE *smq;
int memamt;
smq=(SMQUEUE *)malloc(sizeof(SMQUEUE));
memset(smq,0x00,sizeof(SMQUEUE));
smq->delay=delay;
smq->smqmax=delay+100;
memamt=smq->smqmax*sizeof(SLACKMOVE);
smq->sm=(SLACKMOVE *)malloc(memamt);
memset(smq->sm,0x00,memamt);
return smq;
}
void DestroySMQueue(SMQUEUE *smq)
{
// Free up memory
while(smq->length!=0)
{
free(smq->sm[smq->start].name);
smq->length--;
smq->start=(smq->start+1)%(smq->smqmax);
}
free(smq->sm);
free(smq);
}
BOOL PutSMOnQueue(SMQUEUE *smq,SLACKMOVE *sm)
{
if(smq->length==smq->smqmax)
return FALSE;
smq->sm[smq->end].name=sm->name;
smq->sm[smq->end].Vcn=sm->Vcn;
smq->sm[smq->end].Orig=sm->Orig;
smq->sm[smq->end].Size=sm->Size;
smq->length++;
smq->end=(smq->end+1)%(smq->smqmax);
return TRUE;
}
BOOL GetSMOffQueue(SMQUEUE *smq,SLACKMOVE *sm,BOOL bCleanup)
{
if((smq->length<smq->delay)&&(!bCleanup))
return FALSE;
if(smq->length==0)
return FALSE;
sm->name=smq->sm[smq->start].name;
sm->Vcn=smq->sm[smq->start].Vcn;
sm->Orig=smq->sm[smq->start].Orig;
sm->Size=smq->sm[smq->start].Size;
smq->length--;
smq->start=(smq->start+1)%(smq->smqmax);
return TRUE;
}
/*__Editor_settings____
Local Variables:
tab-width: 4
End:
vi: ts=4 sw=4
vim: si
_____________________*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -