]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
2008-06-25 Michael Snyder <msnyder@specifix.com> msnyder-reverse-20080609-branch
authorMichael Snyder <msnyder@vmware.com>
Thu, 26 Jun 2008 00:23:57 +0000 (00:23 +0000)
committerMichael Snyder <msnyder@vmware.com>
Thu, 26 Jun 2008 00:23:57 +0000 (00:23 +0000)
* gdbfreeplay-back.c (frame_find_request): Rewrite loop to
avoid fencepost error on last frame.

gdb/gdbserver/ChangeLog
gdb/gdbserver/gdbfreeplay-back.c

index 70b3306feeff89308857e089365a38b3094b515e..259a081f1e427706cfb6ad669822fe051cb9c11d 100644 (file)
@@ -1,3 +1,8 @@
+2008-06-25  Michael Snyder  <msnyder@specifix.com>
+
+       * gdbfreeplay-back.c (frame_find_request): Rewrite loop to 
+       avoid fencepost error on last frame.
+
 2008-06-23  Michael Snyder  <msnyder@specifix.com>
 
        * gdbfreeplay.h: Replace all address values with unsigned long long.
index bcfe49bfc17a64f4560905ad76b9365e2d8600d7..7d7cf415beb8c896cc80a70b3dd5a7fb2fbd8d37 100644 (file)
@@ -326,11 +326,12 @@ frame_find_request (FILE *logfile, char *request)
        curpos = stopframe[cur_frame].eventpos;
       fseek (logfile, curpos, SEEK_SET);
       /* Now search for a matching request.  */
-      while (curpos < stopframe[cur_frame + 1].eventpos)
+      while ((line = fgets (inbuf, sizeof (inbuf), logfile)) != NULL)
        {
-         line = fgets (inbuf, sizeof (inbuf), logfile);
-         /* End of input?  */
-         if (line == NULL)
+         /* End of current frame?
+            If we're the last frame, just read till the end of file.  */
+         if (cur_frame < last_cached_frame &&
+             curpos >= stopframe[cur_frame + 1].eventpos)
            break;
          curpos = ftell (logfile);
          if (strstr (line, request) != NULL)