X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Flisting.c;h=4b5fd34cf8c41216f49de0f1121766342925b910;hb=24740d83e4beab0cd8d93944922c62e8a8809391;hp=182d5046912709d4c5483a82b8726caa97d49a49;hpb=9b978282144d6bab479c042070c66bdfcdae6b02;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/listing.c b/gas/listing.c index 182d504691..4b5fd34cf8 100644 --- a/gas/listing.c +++ b/gas/listing.c @@ -1,7 +1,5 @@ /* listing.c - maintain assembly listings - Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 1991-2016 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -91,7 +89,6 @@ #include "as.h" #include "filenames.h" -#include "obstack.h" #include "safe-ctype.h" #include "input-file.h" #include "subsegs.h" @@ -226,7 +223,8 @@ static file_info_type *file_info (const char *); static void new_frag (void); static void listing_page (list_info_type *); static unsigned int calc_hex (list_info_type *); -static void print_lines (list_info_type *, unsigned int, char *, unsigned int); +static void print_lines (list_info_type *, unsigned int, const char *, + unsigned int); static void list_symbol_table (void); static int debugging_pseudo (list_info_type *, const char *); static void listing_listing (char *); @@ -255,13 +253,13 @@ listing_message (const char *name, const char *message) void listing_warning (const char *message) { - listing_message (_("Warning:"), message); + listing_message (_("Warning: "), message); } void listing_error (const char *message) { - listing_message (_("Error:"), message); + listing_message (_("Error: "), message); } static file_info_type * @@ -299,10 +297,10 @@ new_frag (void) void listing_newline (char *ps) { - char *file; + const char *file; unsigned int line; static unsigned int last_line = 0xffff; - static char *last_file = NULL; + static const char *last_file = NULL; list_info_type *new_i = NULL; if (listing == 0) @@ -329,7 +327,7 @@ listing_newline (char *ps) } #endif - as_where (&file, &line); + file = as_where (&line); if (ps == NULL) { if (line == last_line @@ -475,7 +473,7 @@ listing_prev_line (void) truncated to size. It appends a fake line to the end of each input file to make using the returned buffer simpler. */ -static char * +static const char * buffer_line (file_info_type *file, char *line, unsigned int size) { unsigned int count = 0; @@ -553,10 +551,9 @@ buffer_line (file_info_type *file, char *line, unsigned int size) /* This function rewinds the requested file back to the line requested, reads it in again into the buffer provided and then restores the file - back to its original location. Returns the buffer pointer upon success - or an empty string if an error occurs. */ + back to its original location. */ -static char * +static void rebuffer_line (file_info_type * file, unsigned int linenum, char * buffer, @@ -572,7 +569,7 @@ rebuffer_line (file_info_type * file, /* Sanity checks. */ if (file == NULL || buffer == NULL || size <= 1 || file->linenum <= linenum) - return ""; + return; /* Check the cache and see if we last used this file. */ if (last_open_file_info == NULL || file != last_open_file_info) @@ -590,7 +587,7 @@ rebuffer_line (file_info_type * file, if (last_open_file == NULL) { file->at_end = 1; - return ""; + return; } /* Seek to where we were last time this file was open. */ @@ -601,7 +598,7 @@ rebuffer_line (file_info_type * file, /* Remember where we are in the current file. */ pos2 = pos = ftell (last_open_file); if (pos < 3) - return ""; + return; current_line = file->linenum; /* Leave room for the nul at the end of the buffer. */ @@ -626,7 +623,7 @@ rebuffer_line (file_info_type * file, if (fread (buffer, 1, size, last_open_file) != size) { as_warn (_("unable to rebuffer file: %s\n"), file->filename); - return ""; + return; } for (ptr = buffer + size; ptr >= buffer; -- ptr) @@ -693,17 +690,14 @@ rebuffer_line (file_info_type * file, /* Reset the file position. */ fseek (last_open_file, pos, SEEK_SET); - - return buffer; } static const char *fn; - -static unsigned int eject; /* Eject pending */ -static unsigned int page; /* Current page number */ -static char *title; /* Current title */ -static char *subtitle; /* Current subtitle */ -static unsigned int on_page; /* Number of lines printed on current page */ +static unsigned int eject; /* Eject pending. */ +static unsigned int page; /* Current page number. */ +static const char *title; /* Current title. */ +static const char *subtitle; /* Current subtitle. */ +static unsigned int on_page; /* Number of lines printed on current page. */ static void listing_page (list_info_type *list) @@ -835,7 +829,7 @@ calc_hex (list_info_type *list) static void print_lines (list_info_type *list, unsigned int lineno, - char *string, unsigned int address) + const char *string, unsigned int address) { unsigned int idx; unsigned int nchars; @@ -1098,7 +1092,7 @@ print_source (file_info_type * current_file, while (current_file->linenum < list->hll_line && !current_file->at_end) { - char *p; + const char *p; cache = cached_lines + next_free_line; cache->file = current_file; @@ -1205,7 +1199,7 @@ listing_listing (char *name ATTRIBUTE_UNUSED) list_info_type *list = head; file_info_type *current_hll_file = (file_info_type *) NULL; char *buffer; - char *p; + const char *p; int show_listing = 1; unsigned int width;