Assignments explicitly enclosed in parentheses are ignored.
* MISRA C:2004, 13.1 - Assignment operators shall not be used in expressions
that yield a Boolean value
* MISRA C++:2008, 6-2-1 - Assignment operators shall not be used in
sub-expressions
* MISRA C:2012, 13.4 - The result of an assignment operator should not be used
* MITRE, CWE-481 - Assigning instead of Comparing
* CERT, EXP45-C. - Do not perform assignments in selection statements
* CERT, EXP51-J. - Do not perform assignments in conditional expressions
ui->one_time_lb = GTK_LABEL(l);
gtk_label_set_single_line_mode(ui->one_time_lb, TRUE);
hig_workarea_add_row(t, &row, _("Duration:"), l, NULL);
+
hig_workarea_add_section_divider(t, &row);
+
hig_workarea_add_section_title(t, &row, _("Total"));
l = gtk_label_new(_("Started %'d time"));
ui->all_sessions_lb = GTK_LABEL(l);
gtk_label_set_single_line_mode(ui->all_sessions_lb, TRUE);
- hig_workarea_add_label_w(t, row++, l);
+ hig_workarea_add_label_w(t, row, l);
+ ++row;
l = gtk_label_new(NULL);
ui->all_up_lb = GTK_LABEL(l);
gtk_label_set_single_line_mode(ui->all_up_lb, TRUE);
ui->all_time_lb = GTK_LABEL(l);
gtk_label_set_single_line_mode(ui->all_time_lb, TRUE);
hig_workarea_add_row(t, &row, _("Duration:"), l, NULL);
+
gtr_dialog_set_content(GTK_DIALOG(d), t);
updateStats(ui);
void gtr_core_port_test(TrCore* core)
{
- int const tag = nextTag++;
- tr_variant request;
+ int const tag = nextTag;
+ ++nextTag;
+ tr_variant request;
tr_variantInitDict(&request, 2);
tr_variantDictAddStr(&request, TR_KEY_method, "port-test");
tr_variantDictAddInt(&request, TR_KEY_tag, tag);
void gtr_core_blocklist_update(TrCore* core)
{
- int const tag = nextTag++;
- tr_variant request;
+ int const tag = nextTag;
+ ++nextTag;
+ tr_variant request;
tr_variantInitDict(&request, 2);
tr_variantDictAddStr(&request, TR_KEY_method, "blocklist-update");
tr_variantDictAddInt(&request, TR_KEY_tag, tag);
void gtr_core_exec(TrCore* core, tr_variant const* top)
{
- int const tag = nextTag++;
+ int const tag = nextTag;
+ ++nextTag;
+
core_send_rpc_request(core, top, tag, NULL, NULL);
}
/* find the one to select */
i = 0;
- while ((gtk_tree_model_iter_nth_child(model, &iter, NULL, i++)))
+ while ((gtk_tree_model_iter_nth_child(model, &iter, NULL, i)))
{
gtk_tree_model_get(model, &iter, column, ¤tValue, -1);
gtk_combo_box_set_active_iter(combo_box, &iter);
return;
}
+
+ ++i;
}
}
{
tr_announce_event const e = tier->announce_events[0];
- tr_removeElementFromArray(tier->announce_events, 0, sizeof(tr_announce_event), tier->announce_event_count--);
+ tr_removeElementFromArray(tier->announce_events, 0, sizeof(tr_announce_event), tier->announce_event_count);
+ --tier->announce_event_count;
return e;
}
* it will be taken as a sign that that tracker doesn't support
* the scrape convention. If it does, substitute 'scrape' for
* 'announce' to find the scrape page. */
- if ((s = strrchr(announce, '/')) != NULL && strncmp(++s, "announce", 8) == 0)
+ if ((s = strrchr(announce, '/')) != NULL && strncmp(s + 1, "announce", 8) == 0)
{
char const* prefix = announce;
- size_t const prefix_len = s - announce;
- char const* suffix = s + 8;
+ size_t const prefix_len = s + 1 - announce;
+ char const* suffix = s + 1 + 8;
size_t const suffix_len = strlen(suffix);
size_t const alloc_len = prefix_len + 6 + suffix_len + 1;
- char* walk = scrape = tr_new(char, alloc_len);
+
+ scrape = tr_new(char, alloc_len);
+
+ char* walk = scrape;
memcpy(walk, prefix, prefix_len);
walk += prefix_len;
memcpy(walk, "scrape", 6);
memcpy(walk, suffix, suffix_len);
walk += suffix_len;
*walk++ = '\0';
- TR_ASSERT(walk - scrape == (int)alloc_len);
+
+ TR_ASSERT((size_t)(walk - scrape) == alloc_len);
}
/* Some torrents with UDP announce URLs don't have /announce. */
else if (strncmp(announce, "udp:", 4) == 0)
decrementPendingReqCount(b);
- tr_removeElementFromArray(s->requests, pos, sizeof(struct block_request), s->requestCount--);
+ tr_removeElementFromArray(s->requests, pos, sizeof(struct block_request), s->requestCount);
+ --s->requestCount;
// fprintf(stderr, "removing request of block %lu from peer %s... there are now %d block requests left\n", (unsigned long)block,
// tr_atomAddrStr(peer->atom), t->requestCount);
{
int const pos = p - s->pieces;
- tr_removeElementFromArray(s->pieces, pos, sizeof(struct weighted_piece), s->pieceCount--);
+ tr_removeElementFromArray(s->pieces, pos, sizeof(struct weighted_piece), s->pieceCount);
+ --s->pieceCount;
if (s->pieceCount == 0)
{
bool exact;
struct weighted_piece const tmp = *p;
- tr_removeElementFromArray(s->pieces, pos, sizeof(struct weighted_piece), s->pieceCount--);
+ tr_removeElementFromArray(s->pieces, pos, sizeof(struct weighted_piece), s->pieceCount);
+ --s->pieceCount;
pos = tr_lowerBound(&tmp, s->pieces, s->pieceCount, sizeof(struct weighted_piece), comparePieceByWeight, &exact);
- memmove(&s->pieces[pos + 1], &s->pieces[pos], sizeof(struct weighted_piece) * (s->pieceCount++ - pos));
+ memmove(&s->pieces[pos + 1], &s->pieces[pos], sizeof(struct weighted_piece) * (s->pieceCount - pos));
+ ++s->pieceCount;
s->pieces[pos] = tmp;
}
*piece = msgs->peerAskedForMetadata[0];
- tr_removeElementFromArray(msgs->peerAskedForMetadata, 0, sizeof(int), msgs->peerAskedForMetadataCount--);
+ tr_removeElementFromArray(msgs->peerAskedForMetadata, 0, sizeof(int), msgs->peerAskedForMetadataCount);
+ --msgs->peerAskedForMetadataCount;
return true;
}
*setme = msgs->peerAskedFor[0];
- tr_removeElementFromArray(msgs->peerAskedFor, 0, sizeof(struct peer_request), msgs->peer.pendingReqsToClient--);
+ tr_removeElementFromArray(msgs->peerAskedFor, 0, sizeof(struct peer_request), msgs->peer.pendingReqsToClient);
+ --msgs->peer.pendingReqsToClient;
return true;
}
if (req->index == r.index && req->offset == r.offset && req->length == r.length)
{
tr_removeElementFromArray(msgs->peerAskedFor, i, sizeof(struct peer_request),
- msgs->peer.pendingReqsToClient--);
+ msgs->peer.pendingReqsToClient);
+ --msgs->peer.pendingReqsToClient;
break;
}
}
int const interval = RECENTLY_ACTIVE_SECONDS;
tr_variant* removed_out = tr_variantDictAddList(args_out, TR_KEY_removed, 0);
- while ((d = tr_variantListChild(&session->removedTorrents, n++)) != NULL)
+ while ((d = tr_variantListChild(&session->removedTorrents, n)) != NULL)
{
int64_t date;
int64_t id;
{
tr_variantListAddInt(removed_out, id);
}
+
+ ++n;
}
}
/* and add the new ones */
i = 0;
- while ((val = tr_variantListChild(urls, i++)) != NULL)
+ while ((val = tr_variantListChild(urls, i)) != NULL)
{
char const* announce = NULL;
++n;
changed = true;
}
+
+ ++i;
}
if (!changed)
/* remove the ones specified in the urls list */
i = 0;
- while ((val = tr_variantListChild(ids, i++)) != NULL)
+ while ((val = tr_variantListChild(ids, i)) != NULL)
{
int64_t pos;
{
tids[t++] = pos;
}
+
+ ++i;
}
- /* sort trackerIds and remove from largest to smallest so there is no need to recacluate array indicies */
+ /* sort trackerIds and remove from largest to smallest so there is no need to recalculate array indicies */
qsort(tids, t, sizeof(int), compareInt);
while (t-- != 0)
continue;
}
- tr_removeElementFromArray(trackers, tids[t], sizeof(tr_tracker_info), n--);
+ tr_removeElementFromArray(trackers, tids[t], sizeof(tr_tracker_info), n);
+ --n;
+
dup = tids[t];
changed = true;
}
memcpy(m->metadata + offset, data, len);
- tr_removeElementFromArray(m->piecesNeeded, neededPieceIndex, sizeof(struct metadata_node), m->piecesNeededCount--);
+ tr_removeElementFromArray(m->piecesNeeded, neededPieceIndex, sizeof(struct metadata_node), m->piecesNeededCount);
+ --m->piecesNeededCount;
dbgmsg(tor, "saving metainfo piece %d... %d remain", piece, m->piecesNeededCount);
if (m != NULL && m->piecesNeededCount > 0 && m->piecesNeeded[0].requestedAt + MIN_REPEAT_INTERVAL_SECS < now)
{
- int i;
int const piece = m->piecesNeeded[0].piece;
+ tr_removeElementFromArray(m->piecesNeeded, 0, sizeof(struct metadata_node), m->piecesNeededCount);
- tr_removeElementFromArray(m->piecesNeeded, 0, sizeof(struct metadata_node), m->piecesNeededCount--);
-
- i = m->piecesNeededCount++;
+ int i = m->piecesNeededCount - 1;
m->piecesNeeded[i].piece = piece;
m->piecesNeeded[i].requestedAt = now;
size_t array[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
size_t n = TR_N_ELEMENTS(array);
- tr_removeElementFromArray(array, 5U, sizeof(size_t), n--);
+ tr_removeElementFromArray(array, 5U, sizeof(size_t), n);
+ --n;
for (size_t i = 0; i < n; ++i)
{
check_int(array[i], ==, i < 5 ? i : i + 1);
}
- tr_removeElementFromArray(array, 0U, sizeof(size_t), n--);
+ tr_removeElementFromArray(array, 0U, sizeof(size_t), n);
+ --n;
for (size_t i = 0; i < n; ++i)
{
}
tr_removeElementFromArray(array, n - 1, sizeof(size_t), n);
- n--;
+ --n;
for (size_t i = 0; i < n; ++i)
{
{
case TR_VARIANT_TYPE_DICT:
{
- int const i = pstate->childIndex++;
+ int const i = pstate->childIndex;
+ ++pstate->childIndex;
if (i % 2 == 0)
{
case TR_VARIANT_TYPE_LIST:
{
- bool const isLast = ++pstate->childIndex == pstate->childCount;
+ ++pstate->childIndex;
+ bool const isLast = pstate->childIndex == pstate->childCount;
if (!isLast)
{
static bool tr_variantDictFindType(tr_variant* dict, tr_quark const key, int type, tr_variant** setme)
{
- return tr_variantIsType(*setme = tr_variantDictFind(dict, key), type);
+ *setme = tr_variantDictFind(dict, key);
+ return tr_variantIsType(*setme, type);
}
size_t tr_variantListSize(tr_variant const* list)
{
removed = true;
tr_variantFree(&list->val.l.vals[i]);
- tr_removeElementFromArray(list->val.l.vals, i, sizeof(tr_variant), list->val.l.count--);
+ tr_removeElementFromArray(list->val.l.vals, i, sizeof(tr_variant), list->val.l.count);
+ --list->val.l.count;
}
return removed;
}
else if (tr_variantIsContainer(node->v) && node->childIndex < node->v->val.l.count)
{
- int const index = node->childIndex++;
+ int const index = node->childIndex;
+ ++node->childIndex;
+
v = node->v->val.l.vals + index;
if (tr_variantIsDict(node->v))
int i = 0;
tr_variant const* val;
- while ((val = tr_variantListChild((tr_variant*)src, i++)) != NULL)
+ while ((val = tr_variantListChild((tr_variant*)src, i)) != NULL)
{
if (tr_variantIsBool(val))
{
{
tr_logAddError("tr_variantListCopy skipping item");
}
+
+ ++i;
}
}
{
bool is_default_value;
tr_address const* addr;
- CURL* e = task->curl_easy = curl_easy_init();
+ CURL* e = curl_easy_init();
+ task->curl_easy = e;
task->timeout_secs = getTimeoutFromURL(task);
curl_easy_setopt(e, CURLOPT_AUTOREFERER, 1L);
tr_variant* tier;
int tierCount = 0;
- while ((tier = tr_variantListChild(announce_list, tierCount++)) != NULL)
+ while ((tier = tr_variantListChild(announce_list, tierCount)) != NULL)
{
tr_variant* node;
int nodeCount = 0;
- while ((node = tr_variantListChild(tier, nodeCount++)) != NULL)
+ while ((node = tr_variantListChild(tier, nodeCount)) != NULL)
{
if (tr_variantGetStr(node, &str, NULL) && strstr(str, in) != NULL)
{
char* newstr = replaceSubstr(str, in, out);
- printf("\tReplaced in \"announce-list\" tier %d: \"%s\" --> \"%s\"\n", tierCount, str, newstr);
+ printf("\tReplaced in \"announce-list\" tier %d: \"%s\" --> \"%s\"\n", tierCount + 1, str, newstr);
tr_variantFree(node);
tr_variantInitStr(node, newstr, TR_BAD_SIZE);
tr_free(newstr);
changed = true;
}
+
+ ++nodeCount;
}
+
+ ++tierCount;
}
}
tr_variant* tier;
int tierCount = 0;
- while ((tier = tr_variantListChild(announce_list, tierCount++)) != NULL)
+ while ((tier = tr_variantListChild(announce_list, tierCount)) != NULL)
{
tr_variant* node;
char const* str;
int nodeCount = 0;
- while ((node = tr_variantListChild(tier, nodeCount++)) != NULL)
+ while ((node = tr_variantListChild(tier, nodeCount)) != NULL)
{
if (tr_variantGetStr(node, &str, NULL) && strcmp(str, url) == 0)
{
return true;
}
+
+ ++nodeCount;
}
+
+ ++tierCount;
}
return false;
tr_quark key;
tr_variant* val;
- while (tr_variantDictChild(files, i++, &key, &val))
+ while (tr_variantDictChild(files, i, &key, &val))
{
if (memcmp(inf->hash, tr_quark_get_string(key, NULL), SHA_DIGEST_LENGTH) == 0)
{
printf("%d seeders, %d leechers\n", (int)seeders, (int)leechers);
matched = true;
}
+
+ ++i;
}
}