mirror of
https://github.com/nmap/nmap.git
synced 2025-12-06 04:31:29 +00:00
Scan iterator fix for compilation under Visual Studio 2010
This commit is contained in:
@@ -760,7 +760,7 @@ UltraScanInfo::UltraScanInfo() {
|
||||
}
|
||||
|
||||
UltraScanInfo::~UltraScanInfo() {
|
||||
std::multiset<HostScanStats *>::iterator hostI;
|
||||
std::multiset<HostScanStats *, HssPredicate>::iterator hostI;
|
||||
|
||||
for (hostI = incompleteHosts.begin(); hostI != incompleteHosts.end(); hostI++) {
|
||||
delete *hostI;
|
||||
@@ -819,7 +819,7 @@ HostScanStats *UltraScanInfo::nextIncompleteHost() {
|
||||
/* Return a number between 0.0 and 1.0 inclusive indicating how much of the scan
|
||||
is done. */
|
||||
double UltraScanInfo::getCompletionFraction() {
|
||||
std::multiset<HostScanStats *>::iterator hostI;
|
||||
std::multiset<HostScanStats *, HssPredicate>::iterator hostI;
|
||||
double total;
|
||||
|
||||
/* Add 1 for each completed host. */
|
||||
@@ -1076,7 +1076,7 @@ unsigned int UltraScanInfo::numProbesPerHost() {
|
||||
bool UltraScanInfo::sendOK(struct timeval *when) {
|
||||
struct timeval lowhtime = {0};
|
||||
struct timeval tmptv;
|
||||
std::multiset<HostScanStats *>::iterator host;
|
||||
std::multiset<HostScanStats *, HssPredicate>::iterator host;
|
||||
bool ggood = false;
|
||||
bool thisHostGood = false;
|
||||
bool foundgood = false;
|
||||
@@ -1134,7 +1134,7 @@ bool UltraScanInfo::sendOK(struct timeval *when) {
|
||||
/* Find a HostScanStats by its IP address in the incomplete and completed lists.
|
||||
Returns NULL if none are found. */
|
||||
HostScanStats *UltraScanInfo::findHost(struct sockaddr_storage *ss) {
|
||||
std::multiset<HostScanStats *>::iterator hss;
|
||||
std::multiset<HostScanStats *, HssPredicate>::iterator hss;
|
||||
|
||||
HssPredicate::ss = ss;
|
||||
HostScanStats *fakeHss = NULL;
|
||||
@@ -1160,7 +1160,7 @@ HostScanStats *UltraScanInfo::findHost(struct sockaddr_storage *ss) {
|
||||
is here to replace numIncompleteHosts() < n, which would have to walk
|
||||
through the entire list. */
|
||||
bool UltraScanInfo::numIncompleteHostsLessThan(unsigned int n) {
|
||||
std::multiset<HostScanStats *>::iterator hostI;
|
||||
std::multiset<HostScanStats *, HssPredicate>::iterator hostI;
|
||||
unsigned int count;
|
||||
|
||||
count = 0;
|
||||
@@ -1180,7 +1180,7 @@ static bool pingprobe_is_better(const probespec *new_probe, int new_state,
|
||||
list, and remove any hosts from completedHosts which have exceeded their
|
||||
lifetime. Returns the number of hosts removed. */
|
||||
int UltraScanInfo::removeCompletedHosts() {
|
||||
std::multiset<HostScanStats *>::iterator hostI, nxt;
|
||||
std::multiset<HostScanStats *, HssPredicate>::iterator hostI, nxt;
|
||||
HostScanStats *hss = NULL;
|
||||
int hostsRemoved = 0;
|
||||
bool timedout = false;
|
||||
@@ -2290,7 +2290,7 @@ static void sendGlobalPingProbe(UltraScanInfo *USI) {
|
||||
}
|
||||
|
||||
static void doAnyPings(UltraScanInfo *USI) {
|
||||
std::multiset<HostScanStats *>::iterator hostI;
|
||||
std::multiset<HostScanStats *, HssPredicate>::iterator hostI;
|
||||
HostScanStats *hss = NULL;
|
||||
|
||||
gettimeofday(&USI->now, NULL);
|
||||
@@ -2365,7 +2365,7 @@ static void retransmitProbe(UltraScanInfo *USI, HostScanStats *hss,
|
||||
/* Go through the ProbeQueue of each host, identify any
|
||||
timed out probes, then try to retransmit them as appropriate */
|
||||
static void doAnyOutstandingRetransmits(UltraScanInfo *USI) {
|
||||
std::multiset<HostScanStats *>::iterator hostI;
|
||||
std::multiset<HostScanStats *, HssPredicate>::iterator hostI;
|
||||
std::list<UltraProbe *>::iterator probeI;
|
||||
/* A cache of the last processed probe from each host, to avoid re-examining a
|
||||
bunch of probes to find the next one that needs to be retransmitted. */
|
||||
@@ -2445,7 +2445,7 @@ static void doAnyOutstandingRetransmits(UltraScanInfo *USI) {
|
||||
/* Print occasional remaining time estimates, as well as
|
||||
debugging information */
|
||||
static void printAnyStats(UltraScanInfo *USI) {
|
||||
std::multiset<HostScanStats *>::iterator hostI;
|
||||
std::multiset<HostScanStats *, HssPredicate>::iterator hostI;
|
||||
HostScanStats *hss;
|
||||
struct ultra_timing_vals hosttm;
|
||||
|
||||
@@ -2515,7 +2515,7 @@ static void waitForResponses(UltraScanInfo *USI) {
|
||||
/* Go through the data structures, making appropriate changes (such as expiring
|
||||
probes, noting when hosts are complete, etc. */
|
||||
static void processData(UltraScanInfo *USI) {
|
||||
std::multiset<HostScanStats *>::iterator hostI;
|
||||
std::multiset<HostScanStats *, HssPredicate>::iterator hostI;
|
||||
std::list<UltraProbe *>::iterator probeI, nextProbeI;
|
||||
HostScanStats *host = NULL;
|
||||
UltraProbe *probe = NULL;
|
||||
|
||||
@@ -759,7 +759,7 @@ public:
|
||||
private:
|
||||
|
||||
unsigned int numInitialTargets;
|
||||
std::multiset<HostScanStats *>::iterator nextI;
|
||||
std::multiset<HostScanStats *, HssPredicate>::iterator nextI;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -491,7 +491,7 @@ bool do_one_select_round(UltraScanInfo *USI, struct timeval *stime) {
|
||||
int timeleft;
|
||||
ConnectScanInfo *CSI = USI->gstats->CSI;
|
||||
int sd;
|
||||
std::multiset<HostScanStats *>::iterator hostI;
|
||||
std::multiset<HostScanStats *, HssPredicate>::iterator hostI;
|
||||
HostScanStats *host;
|
||||
UltraProbe *probe = NULL;
|
||||
int optval;
|
||||
@@ -532,7 +532,7 @@ bool do_one_select_round(UltraScanInfo *USI, struct timeval *stime) {
|
||||
and find the relevant ones. Note the peculiar structure of the loop--we
|
||||
iterate through both incompleteHosts and completedHosts, because global
|
||||
timing pings are sent to hosts in completedHosts. */
|
||||
std::multiset<HostScanStats *>::iterator incompleteHostI, completedHostI;
|
||||
std::multiset<HostScanStats *, HssPredicate>::iterator incompleteHostI, completedHostI;
|
||||
incompleteHostI = USI->incompleteHosts.begin();
|
||||
completedHostI = USI->completedHosts.begin();
|
||||
while ((incompleteHostI != USI->incompleteHosts.end()
|
||||
|
||||
Reference in New Issue
Block a user