mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2024-11-27 22:22:17 +00:00
Prevent negitive numbers from being used as the left operand of shift operator.
This commit is contained in:
parent
e02ebfe486
commit
df8b486c98
3 changed files with 9 additions and 5 deletions
1
Makefile
1
Makefile
|
@ -148,7 +148,6 @@ SPLINTFLAGS = \
|
||||||
-temptrans \
|
-temptrans \
|
||||||
-usereleased \
|
-usereleased \
|
||||||
-warnposix \
|
-warnposix \
|
||||||
-shiftimplementation \
|
|
||||||
+charindex \
|
+charindex \
|
||||||
-kepttrans \
|
-kepttrans \
|
||||||
-unqualifiedtrans \
|
-unqualifiedtrans \
|
||||||
|
|
11
lexer.h
11
lexer.h
|
@ -163,9 +163,14 @@ typedef struct {
|
||||||
unsigned int flags;
|
unsigned int flags;
|
||||||
} oper_info;
|
} oper_info;
|
||||||
|
|
||||||
#define opid1(a) (a)
|
/*
|
||||||
#define opid2(a,b) ((a<<8)|b)
|
* Explicit uint8_t casts since the left operand of shift operator cannot
|
||||||
#define opid3(a,b,c) ((a<<16)|(b<<8)|c)
|
* be negative, even though it won't happen, this supresses the future
|
||||||
|
* possibility.
|
||||||
|
*/
|
||||||
|
#define opid1(a) ((uint8_t)a)
|
||||||
|
#define opid2(a,b) (((uint8_t)a<<8) |(uint8_t)b)
|
||||||
|
#define opid3(a,b,c) (((uint8_t)a<<16)|((uint8_t)b<<8)|(uint8_t)c)
|
||||||
|
|
||||||
static const oper_info c_operators[] = {
|
static const oper_info c_operators[] = {
|
||||||
{ "(", 0, opid1('('), ASSOC_LEFT, 99, OP_PREFIX}, /* paren expression - non function call */
|
{ "(", 0, opid1('('), ASSOC_LEFT, 99, OP_PREFIX}, /* paren expression - non function call */
|
||||||
|
|
2
pak.c
2
pak.c
|
@ -26,7 +26,7 @@
|
||||||
* The PAK format uses a FOURCC concept for storing the magic ident within
|
* The PAK format uses a FOURCC concept for storing the magic ident within
|
||||||
* the header as a uint32_t.
|
* the header as a uint32_t.
|
||||||
*/
|
*/
|
||||||
#define PAK_FOURCC ((uint32_t)(('P' | ('A' << 8) | ('C' << 16) | ('K' << 24))))
|
#define PAK_FOURCC ((uint32_t)(((uint8_t)'P'|((uint8_t)'A'<<8)|((uint8_t)'C'<<16)|((uint8_t)'K'<<24))))
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint32_t magic; /* "PACK" */
|
uint32_t magic; /* "PACK" */
|
||||||
|
|
Loading…
Reference in a new issue