Examples of errors detected by the V584 diagnostic
V584. Same value is present on both sides of the operator. The expression is incorrect or can be simplified.
Command & Conquer
V584 The 'Current' value is present on both sides of the '!=' operator. The expression is incorrect or it can be simplified. CREDITS.CPP 173
void CreditClass::AI(bool forced, HouseClass *player_ptr, bool logic_only) { .... long adder = Credits - Current; adder = ABS(adder); adder >>= 5; adder = Bound(adder, 1L, 71+72); if (Current > Credits) adder = -adder; Current += adder; Countdown = 1; if (Current-adder != Current) { // <= IsAudible = true; IsUp = (adder > 0); } .... } Similar errors can be found in some other places:
- V584 The 'Current' value is present on both sides of the '!=' operator. The expression is incorrect or it can be simplified. CREDITS.CPP 246
Ruby MRI
V584 The 'ptr' value is present on both sides of the '==' operator. The expression is incorrect or it can be simplified. string.c 7211
static VALUE rb_str_split_m(int argc, VALUE *argv, VALUE str) { .... char *ptr = RSTRING_PTR(str); long len = RSTRING_LEN(str); long start = beg; .... if (ptr+start == ptr+len) start++; .... } Asterisk
V584 The '1' value is present on both sides of the '==' operator. The expression is incorrect or it can be simplified. chan_unistim.c 1095
static void check_send_queue(struct unistimsession *pte) { if (pte->last_buf_available == 1) { .... } else if (pte->last_seq_ack + 1 == pte->seq_server + 1) { // <= .... } } Far2l
V584 The 'FADC_ALLDISKS' value is present on both sides of the '==' operator. The expression is incorrect or it can be simplified. far findfile.cpp 3317
enum FINDASKDLGCOMBO { FADC_ALLDISKS, FADC_ALLBUTNET, .... }; FindFiles::FindFiles() { .... if ( FADC_ALLDISKS + SearchMode == FADC_ALLDISKS // <= || FADC_ALLDISKS + SearchMode == FADC_ALLBUTNET) { .... } .... } A strange expression FADC_ALLDISKS+SearchMode==FADC_ALLDISKS can be simplified to SearchMode == 0.