--- yadex-1.7.0/src/wadlist.cc~ 2006-03-17 11:53:10.000000000 +0100
+++ yadex-1.7.0/src/wadlist.cc 2006-03-17 11:57:06.000000000 +0100
@@ -52,6 +52,7 @@
Wad_list_priv::Wad_list_priv ()
{
+ iter = list.begin ();
rewound = true;
}
@@ -80,6 +81,7 @@
*/
void Wad_list::rewind () const
{
+ priv->iter = priv->list.begin ();
priv->rewound = true;
}
@@ -98,10 +100,7 @@
bool Wad_list::get (Wad_file *& wf)
{
if (priv->rewound)
- {
- priv->iter = priv->list.begin ();
priv->rewound = false;
- }
else
++priv->iter;
@@ -119,10 +118,7 @@
bool Wad_list::get (const Wad_file *& wf) const
{
if (priv->rewound)
- {
- priv->iter = priv->list.begin ();
priv->rewound = false;
- }
else
++priv->iter;
@@ -157,26 +153,12 @@
*/
void Wad_list::del ()
{
- list_t::iterator i;
-
- if (priv->rewound)
- {
- i = priv->list.begin ();
- }
- else
- {
- i = priv->iter;
- }
- if (i == priv->list.end ())
+ if (priv->iter == priv->list.end ())
{
nf_bug ("Wad_list::del: attempt to delete last item");
return;
}
- priv->iter = priv->list.erase (i);
+ priv->iter = priv->list.erase (priv->iter);
if (priv->iter == priv->list.begin ())
- {
- priv->iter = 0; // Catch bugs
priv->rewound = true;
- }
}
-