Richard Boegli's CnC_Generals_Zero_Hour Fork
WIP
This is documentation of Richard Boegil's Zero Hour Fork
Loading...
Searching...
No Matches
crcstraw.cpp
Go to the documentation of this file.
1
/*
2
** Command & Conquer Generals Zero Hour(tm)
3
** Copyright 2025 Electronic Arts Inc.
4
**
5
** This program is free software: you can redistribute it and/or modify
6
** it under the terms of the GNU General Public License as published by
7
** the Free Software Foundation, either version 3 of the License, or
8
** (at your option) any later version.
9
**
10
** This program is distributed in the hope that it will be useful,
11
** but WITHOUT ANY WARRANTY; without even the implied warranty of
12
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
** GNU General Public License for more details.
14
**
15
** You should have received a copy of the GNU General Public License
16
** along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
/***********************************************************************************************
20
*** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S ***
21
***********************************************************************************************
22
* *
23
* Project Name : Command & Conquer *
24
* *
25
* $Archive:: /Commando/Library/CRCSTRAW.CPP $*
26
* *
27
* $Author:: Greg_h $*
28
* *
29
* $Modtime:: 7/22/97 11:37a $*
30
* *
31
* $Revision:: 1 $*
32
* *
33
*---------------------------------------------------------------------------------------------*
34
* Functions: *
35
* CRCStraw::Get -- Fetch the data requested and calculate CRC on it. *
36
* CRCStraw::Result -- Returns with the CRC of all data passed through the straw. *
37
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
38
39
#include "
always.h
"
40
#include "
crcstraw.h
"
41
42
43
/***********************************************************************************************
44
* CRCStraw::Get -- Fetch the data requested and calculate CRC on it. *
45
* *
46
* This routine will fetch the number of bytes requested. The data will not be modified *
47
* by this straw segment, but the CRC engine will examine the data so as to keep an *
48
* accurate CRC value. *
49
* *
50
* INPUT: source -- Pointer to the buffer to hold the data requested. *
51
* *
52
* length -- The number of bytes requested. *
53
* *
54
* OUTPUT: Returns with the actual number of bytes stored in the buffer. If this number is *
55
* less than that requested, then this indicates that the data stream has been *
56
* exhausted. *
57
* *
58
* WARNINGS: none *
59
* *
60
* HISTORY: *
61
* 07/03/1996 JLB : Created. *
62
*=============================================================================================*/
63
int
CRCStraw::Get
(
void
* source,
int
slen)
64
{
65
if
(source ==
NULL
|| slen < 1) {
66
return
(0);
67
}
68
69
int
counter
=
Straw::Get
(source, slen);
70
CRC
(source,
counter
);
71
return
(
counter
);
72
}
73
74
75
/***********************************************************************************************
76
* CRCStraw::Result -- Returns with the CRC of all data passed through the straw. *
77
* *
78
* This routine will return the CRC value of the data that has passed through this straw *
79
* segment. *
80
* *
81
* INPUT: none *
82
* *
83
* OUTPUT: Returns with the CRC value of the data this straw segment has seen. *
84
* *
85
* WARNINGS: none *
86
* *
87
* HISTORY: *
88
* 07/03/1996 JLB : Created. *
89
*=============================================================================================*/
90
long
CRCStraw::Result
(
void
)
const
91
{
92
return
(
CRC
());
93
}
NULL
#define NULL
Definition
BaseType.h:92
always.h
CRCStraw::Get
virtual int Get(void *source, int slen)
Definition
crcstraw.cpp:63
CRCStraw::CRC
CRCEngine CRC
Definition
crcstraw.h:57
CRCStraw::Result
long Result(void) const
Definition
crcstraw.cpp:90
Straw::Get
virtual int Get(void *buffer, int slen)
Definition
straw.cpp:132
crcstraw.h
counter
int counter
Definition
patch.cpp:410
Code
Libraries
Source
WWVegas
WWLib
crcstraw.cpp
Generated by
1.13.2