summaryrefslogtreecommitdiff
path: root/queue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'queue.cpp')
-rw-r--r--queue.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/queue.cpp b/queue.cpp
index 611606d..3f5684f 100644
--- a/queue.cpp
+++ b/queue.cpp
@@ -33,7 +33,8 @@ bool cMarkAdPaketQueue::Inject(uchar *Data, int Size)
if (!buffer) return false;
if (outptr>Size)
{
- uchar temp[Size+1];
+ uchar *temp=(uchar *) alloca(Size+1);
+ if (!temp) return false;
memcpy(temp,Data,Size);
outptr-=Size;
memcpy(&buffer[outptr],temp,Size);
@@ -42,12 +43,13 @@ bool cMarkAdPaketQueue::Inject(uchar *Data, int Size)
else
{
int oldSize=Length();
- uchar tempold[oldSize+1];
- memcpy(tempold,&buffer[outptr],oldSize);
+ uchar *tempold=(uchar *) alloca(oldSize+1);
+ if (!tempold) return false;
+ uchar *temp=(uchar *) alloca(Size+1);
+ if (!temp) return false;
- uchar temp[Size+1];
+ memcpy(tempold,&buffer[outptr],oldSize);
memcpy(temp,Data,Size);
-
memcpy(buffer,temp,Size);
memcpy(buffer+Size,tempold,oldSize);
@@ -72,7 +74,7 @@ bool cMarkAdPaketQueue::Put(uchar *Data, int Size)
memcpy(&buffer[inptr],Data,Size);
inptr+=Size;
- int npercent=(int) ((double) inptr/(double) maxqueue)*100;
+ int npercent=(int) ((inptr*100)/maxqueue);
if ((npercent>90) && (name) && (npercent!=percent))
{