Richard Boegli's CnC_Generals_Zero_Hour Fork
WIP
This is documentation of Richard Boegil's Zero Hour Fork
Loading...
Searching...
No Matches
shastraw.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/SHASTRAW.CPP $*
26
* *
27
* $Author:: Greg_h $*
28
* *
29
* $Modtime:: 7/22/97 11:37a $*
30
* *
31
* $Revision:: 1 $*
32
* *
33
*---------------------------------------------------------------------------------------------*
34
* Functions: *
35
* SHAStraw::Get -- Fetch data from the straw and process the SHA with the data. *
36
* SHAStraw::Result -- Fetches the current SHA digest. *
37
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
38
39
40
#include "
always.h
"
41
#include "
shastraw.h
"
42
43
44
/***********************************************************************************************
45
* SHAStraw::Get -- Fetch data from the straw and process the SHA with the data. *
46
* *
47
* This routine will fetch the requested data and as it passes through this straw it will *
48
* submit it to the SHA processor. The data that passes through is unmodified by this *
49
* straw segment. *
50
* *
51
* INPUT: source -- Pointer to the buffer that will hold the requested data. *
52
* *
53
* length -- The length of the data requested. *
54
* *
55
* OUTPUT: Returns with the number of bytes stored in the buffer. If this number is less *
56
* than the number requested, then this indicates that the data stream has been *
57
* exhausted. *
58
* *
59
* WARNINGS: none *
60
* *
61
* HISTORY: *
62
* 07/03/1996 JLB : Created. *
63
*=============================================================================================*/
64
int
SHAStraw::Get
(
void
* source,
int
slen)
65
{
66
if
(source ==
NULL
|| slen < 1) {
67
return
(0);
68
}
69
70
int
counter
=
Straw::Get
(source, slen);
71
if
(!
IsDisabled
) {
72
SHA
.Hash(source,
counter
);
73
}
74
return
(
counter
);
75
}
76
77
78
/***********************************************************************************************
79
* SHAStraw::Result -- Fetches the current SHA digest. *
80
* *
81
* Use this routine to fetch the current SHA digest from the straw. It will return the *
82
* digest of the data that has passed through this straw segment. *
83
* *
84
* INPUT: result -- Pointer to the buffer to hold the message digest. The buffer must be *
85
* 20 bytes long. *
86
* *
87
* OUTPUT: Returns with the number of bytes stored into the digest buffer. This will always *
88
* be 20. *
89
* *
90
* WARNINGS: none *
91
* *
92
* HISTORY: *
93
* 07/03/1996 JLB : Created. *
94
*=============================================================================================*/
95
int
SHAStraw::Result
(
void
* result)
const
96
{
97
return
(
SHA
.Result(result));
98
}
NULL
#define NULL
Definition
BaseType.h:92
always.h
SHAStraw::IsDisabled
bool IsDisabled
Definition
shastraw.h:61
SHAStraw::Get
virtual int Get(void *source, int slen)
Definition
shastraw.cpp:64
SHAStraw::Result
int Result(void *result) const
Definition
shastraw.cpp:95
SHAStraw::SHA
SHAEngine SHA
Definition
shastraw.h:63
Straw::Get
virtual int Get(void *buffer, int slen)
Definition
straw.cpp:132
counter
int counter
Definition
patch.cpp:410
shastraw.h
Code
Libraries
Source
WWVegas
WWLib
shastraw.cpp
Generated by
1.13.2