gdb/
[deliverable/binutils-gdb.git] / gprof / source.c
index 30b8278d9957fb3afcbe0faad1b8fa7cba873587..1a445d3315f3427f1114ffe46cff14e6325fd89b 100644 (file)
@@ -1,12 +1,12 @@
 /* source.c - Keep track of source files.
 
 /* source.c - Keep track of source files.
 
-   Copyright 2000 Free Software Foundation, Inc.
+   Copyright 2000, 2001, 2002, 2004, 2007 Free Software Foundation, Inc.
 
    This file is part of GNU Binutils.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
    This file is part of GNU Binutils.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -16,8 +16,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+   02110-1301, USA.  */
 \f
 #include "gprof.h"
 #include "libiberty.h"
 \f
 #include "gprof.h"
 #include "libiberty.h"
 #define EXT_ANNO "-ann"                /* Postfix of annotated files.  */
 
 /* Default option values.  */
 #define EXT_ANNO "-ann"                /* Postfix of annotated files.  */
 
 /* Default option values.  */
-bool create_annotation_files = FALSE;
+bfd_boolean create_annotation_files = FALSE;
 
 Search_List src_search_list = {0, 0};
 Source_File *first_src_file = 0;
 
 
 Source_File *
 
 Search_List src_search_list = {0, 0};
 Source_File *first_src_file = 0;
 
 
 Source_File *
-DEFUN (source_file_lookup_path, (path), const char *path)
+source_file_lookup_path (const char *path)
 {
   Source_File *sf;
 
 {
   Source_File *sf;
 
@@ -44,29 +44,29 @@ DEFUN (source_file_lookup_path, (path), const char *path)
       if (FILENAME_CMP (path, sf->name) == 0)
        break;
     }
       if (FILENAME_CMP (path, sf->name) == 0)
        break;
     }
-  
+
   if (!sf)
     {
       /* Create a new source file descriptor.  */
       sf = (Source_File *) xmalloc (sizeof (*sf));
   if (!sf)
     {
       /* Create a new source file descriptor.  */
       sf = (Source_File *) xmalloc (sizeof (*sf));
-      
+
       memset (sf, 0, sizeof (*sf));
       memset (sf, 0, sizeof (*sf));
-      
+
       sf->name = xstrdup (path);
       sf->next = first_src_file;
       first_src_file = sf;
     }
       sf->name = xstrdup (path);
       sf->next = first_src_file;
       first_src_file = sf;
     }
-  
+
   return sf;
 }
 
 
 Source_File *
   return sf;
 }
 
 
 Source_File *
-DEFUN (source_file_lookup_name, (filename), const char *filename)
+source_file_lookup_name (const char *filename)
 {
   const char *fname;
   Source_File *sf;
 {
   const char *fname;
   Source_File *sf;
-  
+
   /* The user cannot know exactly how a filename will be stored in
      the debugging info (e.g., ../include/foo.h
      vs. /usr/include/foo.h).  So we simply compare the filename
   /* The user cannot know exactly how a filename will be stored in
      the debugging info (e.g., ../include/foo.h
      vs. /usr/include/foo.h).  So we simply compare the filename
@@ -74,7 +74,7 @@ DEFUN (source_file_lookup_name, (filename), const char *filename)
   for (sf = first_src_file; sf; sf = sf->next)
     {
       fname = strrchr (sf->name, '/');
   for (sf = first_src_file; sf; sf = sf->next)
     {
       fname = strrchr (sf->name, '/');
-      
+
       if (fname)
        ++fname;
       else
       if (fname)
        ++fname;
       else
@@ -83,20 +83,19 @@ DEFUN (source_file_lookup_name, (filename), const char *filename)
       if (FILENAME_CMP (filename, fname) == 0)
        break;
     }
       if (FILENAME_CMP (filename, fname) == 0)
        break;
     }
-  
+
   return sf;
 }
 
 
 FILE *
   return sf;
 }
 
 
 FILE *
-DEFUN (annotate_source, (sf, max_width, annote, arg),
-       Source_File * sf AND int max_width
-       AND void (*annote) PARAMS ((char *buf, int w, int l, void *arg))
-       AND void *arg)
+annotate_source (Source_File *sf, unsigned int max_width,
+     void (*annote) (char *, unsigned int, int, void *),
+     void *arg)
 {
 {
-  static bool first_file = TRUE;
+  static bfd_boolean first_file = TRUE;
   int i, line_num, nread;
   int i, line_num, nread;
-  bool new_line;
+  bfd_boolean new_line;
   char buf[8192];
   char fname[PATH_MAX];
   char *annotation, *name_only;
   char buf[8192];
   char fname[PATH_MAX];
   char *annotation, *name_only;
@@ -106,7 +105,7 @@ DEFUN (annotate_source, (sf, max_width, annote, arg),
   /* Open input file.  If open fails, walk along search-list until
      open succeeds or reaching end of list.  */
   strcpy (fname, sf->name);
   /* Open input file.  If open fails, walk along search-list until
      open succeeds or reaching end of list.  */
   strcpy (fname, sf->name);
-  
+
   if (IS_ABSOLUTE_PATH (sf->name))
     sle = 0;                   /* Don't use search list for absolute paths.  */
 
   if (IS_ABSOLUTE_PATH (sf->name))
     sle = 0;                   /* Don't use search list for absolute paths.  */
 
@@ -115,7 +114,7 @@ DEFUN (annotate_source, (sf, max_width, annote, arg),
     {
       DBG (SRCDEBUG, printf ("[annotate_source]: looking for %s, trying %s\n",
                             sf->name, fname));
     {
       DBG (SRCDEBUG, printf ("[annotate_source]: looking for %s, trying %s\n",
                             sf->name, fname));
-      
+
       ifp = fopen (fname, FOPEN_RB);
       if (ifp)
        break;
       ifp = fopen (fname, FOPEN_RB);
       if (ifp)
        break;
@@ -139,7 +138,7 @@ DEFUN (annotate_source, (sf, max_width, annote, arg),
              sle = src_search_list.head;
            }
        }
              sle = src_search_list.head;
            }
        }
-      
+
       if (sle)
        {
          strcpy (fname, sle->path);
       if (sle)
        {
          strcpy (fname, sle->path);
@@ -149,7 +148,7 @@ DEFUN (annotate_source, (sf, max_width, annote, arg),
            strcat (fname, ".");
 #endif
          strcat (fname, "/");
            strcat (fname, ".");
 #endif
          strcat (fname, "/");
-         
+
          if (name_only)
            strcat (fname, name_only);
          else
          if (name_only)
            strcat (fname, name_only);
          else
@@ -170,7 +169,7 @@ DEFUN (annotate_source, (sf, max_width, annote, arg),
     }
 
   ofp = stdout;
     }
 
   ofp = stdout;
-  
+
   if (create_annotation_files)
     {
       /* Try to create annotated source file.  */
   if (create_annotation_files)
     {
       /* Try to create annotated source file.  */
@@ -213,7 +212,7 @@ DEFUN (annotate_source, (sf, max_width, annote, arg),
       }
 #endif
       ofp = fopen (fname, "w");
       }
 #endif
       ofp = fopen (fname, "w");
-      
+
       if (!ofp)
        {
          perror (fname);
       if (!ofp)
        {
          perror (fname);
@@ -238,10 +237,10 @@ DEFUN (annotate_source, (sf, max_width, annote, arg),
       fprintf (ofp, _("*** File %s:\n"), sf->name);
     }
 
       fprintf (ofp, _("*** File %s:\n"), sf->name);
     }
 
-  annotation = xmalloc (max_width + 1);
+  annotation = (char *) xmalloc (max_width + 1);
   line_num = 1;
   new_line = TRUE;
   line_num = 1;
   new_line = TRUE;
-  
+
   while ((nread = fread (buf, 1, sizeof (buf), ifp)) > 0)
     {
       for (i = 0; i < nread; ++i)
   while ((nread = fread (buf, 1, sizeof (buf), ifp)) > 0)
     {
       for (i = 0; i < nread; ++i)
@@ -253,12 +252,12 @@ DEFUN (annotate_source, (sf, max_width, annote, arg),
              ++line_num;
              new_line = FALSE;
            }
              ++line_num;
              new_line = FALSE;
            }
-         
+
          new_line = (buf[i] == '\n');
          fputc (buf[i], ofp);
        }
     }
          new_line = (buf[i] == '\n');
          fputc (buf[i], ofp);
        }
     }
-  
+
   free (annotation);
   return ofp;
 }
   free (annotation);
   return ofp;
 }
This page took 0.025354 seconds and 4 git commands to generate.