From a73c6dcdd42994167dfec4db36b0d0ad439d39ad Mon Sep 17 00:00:00 2001 From: Michael Snyder Date: Mon, 10 Jan 2011 17:14:13 +0000 Subject: [PATCH] 2011-01-10 Michael Snyder * charset.c (validate): Internationalization. * coffread.c (read_one_sym): Ditto. * dwarf2read.c (dwarf2_attach_fields_to_type): Ditto. * h8300-tdep.c (H8300_extract_return_value): Ditto. * inflow.c (new_tty): Ditto. * iq2000-tdep.c (iq2000_breakpoint_from_pc): Ditto. * m32c-tdep.c (m32c_return_value): Ditto. * mep-tdep.c (mep_store_return_value): Ditto. * score-tdep.c (score7_fetch_insn): Ditto. * ser-mingw.c (pipe_windows_open): Ditto. * sh64-tdep.c (sh64_extract_return_value): Ditto. * spu-tdep.c (spu_register_type): Ditto. * tracepoint.c (trace_find_command): Ditto. * valarith.c (value_pos): Ditto. --- gdb/charset.c | 4 ++-- gdb/coffread.c | 6 +++--- gdb/dwarf2read.c | 9 +++++---- gdb/h8300-tdep.c | 16 +++++++++------- gdb/inflow.c | 4 ++-- gdb/iq2000-tdep.c | 2 +- gdb/m32c-tdep.c | 12 ++++++------ gdb/mep-tdep.c | 28 +++++++++++++--------------- gdb/score-tdep.c | 12 ++++++------ gdb/ser-mingw.c | 6 +++--- gdb/sh64-tdep.c | 16 +++++++++------- gdb/spu-tdep.c | 6 +++--- gdb/tracepoint.c | 31 ++++++++++++++++--------------- gdb/valarith.c | 2 +- 14 files changed, 79 insertions(+), 75 deletions(-) diff --git a/gdb/charset.c b/gdb/charset.c index 9c35867d73e..0c269bdbf5e 100644 --- a/gdb/charset.c +++ b/gdb/charset.c @@ -324,13 +324,13 @@ validate (struct gdbarch *gdbarch) desc = iconv_open (target_wide_cset, host_cset); if (desc == (iconv_t) -1) - error ("Cannot convert between character sets `%s' and `%s'", + error (_("Cannot convert between character sets `%s' and `%s'"), target_wide_cset, host_cset); iconv_close (desc); desc = iconv_open (target_cset, host_cset); if (desc == (iconv_t) -1) - error ("Cannot convert between character sets `%s' and `%s'", + error (_("Cannot convert between character sets `%s' and `%s'"), target_cset, host_cset); iconv_close (desc); diff --git a/gdb/coffread.c b/gdb/coffread.c index c7997455103..b300aa9ae25 100644 --- a/gdb/coffread.c +++ b/gdb/coffread.c @@ -1163,14 +1163,14 @@ read_one_sym (struct coff_symbol *cs, cs->c_symnum = symnum; bytes = bfd_bread (temp_sym, local_symesz, nlist_bfd_global); if (bytes != local_symesz) - error ("%s: error reading symbols", current_objfile->name); + error (_("%s: error reading symbols"), current_objfile->name); bfd_coff_swap_sym_in (symfile_bfd, temp_sym, (char *) sym); cs->c_naux = sym->n_numaux & 0xff; if (cs->c_naux >= 1) { bytes = bfd_bread (temp_aux, local_auxesz, nlist_bfd_global); if (bytes != local_auxesz) - error ("%s: error reading symbols", current_objfile->name); + error (_("%s: error reading symbols"), current_objfile->name); bfd_coff_swap_aux_in (symfile_bfd, temp_aux, sym->n_type, sym->n_sclass, 0, cs->c_naux, (char *) aux); @@ -1180,7 +1180,7 @@ read_one_sym (struct coff_symbol *cs, { bytes = bfd_bread (temp_aux, local_auxesz, nlist_bfd_global); if (bytes != local_auxesz) - error ("%s: error reading symbols", current_objfile->name); + error (_("%s: error reading symbols"), current_objfile->name); } } cs->c_name = getsymname (sym); diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 75562e2de57..2161c747066 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -6497,7 +6497,7 @@ dwarf2_attach_fields_to_type (struct field_info *fip, struct type *type, case DW_VIRTUALITY_virtual: case DW_VIRTUALITY_pure_virtual: if (cu->language == language_ada) - error ("unexpected virtuality in component of Ada type"); + error (_("unexpected virtuality in component of Ada type")); SET_TYPE_FIELD_VIRTUAL (type, nfields); break; } @@ -6521,7 +6521,7 @@ dwarf2_add_member_fn (struct field_info *fip, struct die_info *die, struct type *this_type; if (cu->language == language_ada) - error ("unexpected member function in Ada type"); + error (_("unexpected member function in Ada type")); /* Get name of member function. */ fieldname = dwarf2_name (die, cu); @@ -6712,7 +6712,7 @@ dwarf2_attach_fn_fields_to_type (struct field_info *fip, struct type *type, int i; if (cu->language == language_ada) - error ("unexpected member functions in Ada type"); + error (_("unexpected member functions in Ada type")); ALLOCATE_CPLUS_STRUCT_TYPE (type); TYPE_FN_FIELDLISTS (type) = (struct fn_fieldlist *) @@ -9540,7 +9540,8 @@ read_address (bfd *abfd, gdb_byte *buf, struct dwarf2_cu *cu, break; default: internal_error (__FILE__, __LINE__, - _("read_address: bad switch, unsigned [in module %s]"), + _("read_address: bad switch, " + "unsigned [in module %s]"), bfd_get_filename (abfd)); } } diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c index ed4103d9a25..9ff077e7d41 100644 --- a/gdb/h8300-tdep.c +++ b/gdb/h8300-tdep.c @@ -771,7 +771,7 @@ h8300_extract_return_value (struct type *type, struct regcache *regcache, } else { - error ("I don't know how this 8 byte value is returned."); + error (_("I don't know how this 8 byte value is returned.")); } break; } @@ -805,7 +805,7 @@ h8300h_extract_return_value (struct type *type, struct regcache *regcache, } else { - error ("I don't know how this 8 byte value is returned."); + error (_("I don't know how this 8 byte value is returned.")); } break; } @@ -869,7 +869,7 @@ h8300_store_return_value (struct type *type, struct regcache *regcache, case 8: /* long long, double and long double are all defined as 4 byte types so far so this shouldn't happen. */ - error ("I don't know how to return an 8 byte value."); + error (_("I don't know how to return an 8 byte value.")); break; } } @@ -954,7 +954,8 @@ h8300_register_name (struct gdbarch *gdbarch, int regno) if (regno < 0 || regno >= (sizeof (register_names) / sizeof (*register_names))) internal_error (__FILE__, __LINE__, - "h8300_register_name: illegal register number %d", regno); + _("h8300_register_name: illegal register number %d"), + regno); else return register_names[regno]; } @@ -971,7 +972,7 @@ h8300s_register_name (struct gdbarch *gdbarch, int regno) if (regno < 0 || regno >= (sizeof (register_names) / sizeof (*register_names))) internal_error (__FILE__, __LINE__, - "h8300s_register_name: illegal register number %d", + _("h8300s_register_name: illegal register number %d"), regno); else return register_names[regno]; @@ -989,7 +990,7 @@ h8300sx_register_name (struct gdbarch *gdbarch, int regno) if (regno < 0 || regno >= (sizeof (register_names) / sizeof (*register_names))) internal_error (__FILE__, __LINE__, - "h8300sx_register_name: illegal register number %d", + _("h8300sx_register_name: illegal register number %d"), regno); else return register_names[regno]; @@ -1125,7 +1126,8 @@ h8300_register_type (struct gdbarch *gdbarch, int regno) if (regno < 0 || regno >= gdbarch_num_regs (gdbarch) + gdbarch_num_pseudo_regs (gdbarch)) internal_error (__FILE__, __LINE__, - "h8300_register_type: illegal register number %d", regno); + _("h8300_register_type: illegal register number %d"), + regno); else { switch (regno) diff --git a/gdb/inflow.c b/gdb/inflow.c index 99c25f2c082..65f48ba843c 100644 --- a/gdb/inflow.c +++ b/gdb/inflow.c @@ -700,7 +700,7 @@ new_tty (void) if (ioctl (tty, TIOCSCTTY, 0) == -1) /* Mention GDB in warning because it will appear in the inferior's terminal instead of GDB's. */ - warning ("GDB: Failed to set controlling terminal: %s", + warning (_("GDB: Failed to set controlling terminal: %s"), safe_strerror (errno)); #endif @@ -789,7 +789,7 @@ create_tty_session (void) ret = setsid (); if (ret == -1) - warning ("Failed to create new terminal session: setsid: %s", + warning (_("Failed to create new terminal session: setsid: %s"), safe_strerror (errno)); return ret; diff --git a/gdb/iq2000-tdep.c b/gdb/iq2000-tdep.c index b89d1ece49c..2e54478069a 100644 --- a/gdb/iq2000-tdep.c +++ b/gdb/iq2000-tdep.c @@ -485,7 +485,7 @@ iq2000_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, static const unsigned char little_breakpoint[] = { 0x0d, 0x00, 0x00, 0x00 }; if ((*pcptr & 3) != 0) - error ("breakpoint_from_pc: invalid breakpoint address 0x%lx", + error (_("breakpoint_from_pc: invalid breakpoint address 0x%lx"), (long) *pcptr); *lenptr = 4; diff --git a/gdb/m32c-tdep.c b/gdb/m32c-tdep.c index b74b017cfa2..3484b00c887 100644 --- a/gdb/m32c-tdep.c +++ b/gdb/m32c-tdep.c @@ -2219,9 +2219,9 @@ m32c_return_value (struct gdbarch *gdbarch, = lookup_minimal_symbol ("mem0", NULL, NULL); if (! mem0) - error ("The return value is stored in memory at 'mem0', " - "but GDB cannot find\n" - "its address."); + error (_("The return value is stored in memory at 'mem0', " + "but GDB cannot find\n" + "its address.")); read_memory (SYMBOL_VALUE_ADDRESS (mem0), readbuf, valtype_len); } } @@ -2251,9 +2251,9 @@ m32c_return_value (struct gdbarch *gdbarch, = lookup_minimal_symbol ("mem0", NULL, NULL); if (! mem0) - error ("The return value is stored in memory at 'mem0', " - "but GDB cannot find\n" - " its address."); + error (_("The return value is stored in memory at 'mem0', " + "but GDB cannot find\n" + " its address.")); write_memory (SYMBOL_VALUE_ADDRESS (mem0), (char *) writebuf, valtype_len); } diff --git a/gdb/mep-tdep.c b/gdb/mep-tdep.c index 067d131153b..cd86442272b 100644 --- a/gdb/mep-tdep.c +++ b/gdb/mep-tdep.c @@ -2182,11 +2182,10 @@ mep_store_return_value (struct gdbarch *arch, memory, pointed to by R0. Unfortunately, we can't count on R0 pointing to the return buffer, so we raise an error here. */ else - error ("GDB cannot set return values larger than four bytes; " - "the Media Processor's\n" - "calling conventions do not provide enough information " - "to do this.\n" - "Try using the 'return' command with no argument."); + error (_("\ +GDB cannot set return values larger than four bytes; the Media Processor's\n\ +calling conventions do not provide enough information to do this.\n\ +Try using the 'return' command with no argument.")); } static enum return_value_convention @@ -2210,11 +2209,10 @@ mep_return_value (struct gdbarch *gdbarch, struct type *func_type, /* Return values larger than a single register are returned in memory, pointed to by R0. Unfortunately, we can't count on R0 pointing to the return buffer, so we raise an error here. */ - error ("GDB cannot set return values larger than four bytes; " - "the Media Processor's\n" - "calling conventions do not provide enough information " - "to do this.\n" - "Try using the 'return' command with no argument."); + error (_("\ +GDB cannot set return values larger than four bytes; the Media Processor's\n\ +calling conventions do not provide enough information to do this.\n\ +Try using the 'return' command with no argument.")); } return RETURN_VALUE_ABI_RETURNS_ADDRESS; } @@ -2427,14 +2425,14 @@ mep_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) fputc_unfiltered ('\n', gdb_stderr); if (module_name) - warning ("the MeP module '%s' is %s-endian, but the executable\n" - "%s is %s-endian.", + warning (_("the MeP module '%s' is %s-endian, but the executable\n" + "%s is %s-endian."), module_name, module_endianness, file_name, file_endianness); else - warning ("the selected MeP module is %s-endian, but the " - "executable\n" - "%s is %s-endian.", + warning (_("the selected MeP module is %s-endian, but the " + "executable\n" + "%s is %s-endian."), module_endianness, file_name, file_endianness); } } diff --git a/gdb/score-tdep.c b/gdb/score-tdep.c index 82c3b289dec..16ff1ce07d2 100644 --- a/gdb/score-tdep.c +++ b/gdb/score-tdep.c @@ -155,7 +155,7 @@ score7_fetch_inst (struct gdbarch *gdbarch, CORE_ADDR addr, char *memblock) ret = target_read_memory (addr & ~0x3, buf, SCORE_INSTLEN); if (ret) { - error ("Error: target_read_memory in file:%s, line:%d!", + error (_("Error: target_read_memory in file:%s, line:%d!"), __FILE__, __LINE__); return 0; } @@ -248,7 +248,7 @@ score3_adjust_pc_and_fetch_inst (CORE_ADDR *pcptr, int *lenptr, buf[i][0] = '\0'; buf[i][1] = '\0'; if (i == 2) - error ("Error: target_read_memory in file:%s, line:%d!", + error (_("Error: target_read_memory in file:%s, line:%d!"), __FILE__, __LINE__); } @@ -318,7 +318,7 @@ score7_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, if ((ret = target_read_memory (*pcptr & ~0x3, buf, SCORE_INSTLEN)) != 0) { - error ("Error: target_read_memory in file:%s, line:%d!", + error (_("Error: target_read_memory in file:%s, line:%d!"), __FILE__, __LINE__); } raw = extract_unsigned_integer (buf, SCORE_INSTLEN, byte_order); @@ -435,7 +435,7 @@ score_xfer_register (struct regcache *regcache, int regnum, int length, reg_offset = 0; break; default: - error ("Error: score_xfer_register in file:%s, line:%d!", + error (_("Error: score_xfer_register in file:%s, line:%d!"), __FILE__, __LINE__); } @@ -811,7 +811,7 @@ score7_malloc_and_get_memblock (CORE_ADDR addr, CORE_ADDR size) if (size < 0) { - error ("Error: malloc size < 0 in file:%s, line:%d!", + error (_("Error: malloc size < 0 in file:%s, line:%d!"), __FILE__, __LINE__); return NULL; } @@ -823,7 +823,7 @@ score7_malloc_and_get_memblock (CORE_ADDR addr, CORE_ADDR size) ret = target_read_memory (addr & ~0x3, memblock, size); if (ret) { - error ("Error: target_read_memory in file:%s, line:%d!", + error (_("Error: target_read_memory in file:%s, line:%d!"), __FILE__, __LINE__); return NULL; } diff --git a/gdb/ser-mingw.c b/gdb/ser-mingw.c index 409759469f9..b1bfc329407 100644 --- a/gdb/ser-mingw.c +++ b/gdb/ser-mingw.c @@ -840,7 +840,7 @@ pipe_windows_open (struct serial *scb, const char *name) back_to = make_cleanup_freeargv (argv); if (! argv[0] || argv[0][0] == '\0') - error ("missing child command"); + error (_("missing child command")); ps = make_pipe_state (); make_cleanup (cleanup_pipe_state, ps); @@ -867,10 +867,10 @@ pipe_windows_open (struct serial *scb, const char *name) all the same information here, plus err_msg provided by pex_run, so we just raise the error here. */ if (err) - error ("error starting child process '%s': %s: %s", + error (_("error starting child process '%s': %s: %s"), name, err_msg, safe_strerror (err)); else - error ("error starting child process '%s': %s", + error (_("error starting child process '%s': %s"), name, err_msg); } } diff --git a/gdb/sh64-tdep.c b/gdb/sh64-tdep.c index ef2acdc3715..6b15234f5f5 100644 --- a/gdb/sh64-tdep.c +++ b/gdb/sh64-tdep.c @@ -1258,7 +1258,7 @@ sh64_extract_return_value (struct type *type, struct regcache *regcache, memcpy (valbuf, buf + offset, len); } else - error ("bad size for return value"); + error (_("bad size for return value")); } } @@ -1572,7 +1572,8 @@ sh64_register_convert_to_virtual (struct gdbarch *gdbarch, int regnum, store_typed_floating (to, type, val); } else - error ("sh64_register_convert_to_virtual called with non DR register number"); + error (_("sh64_register_convert_to_virtual " + "called with non DR register number")); } static void @@ -1596,7 +1597,8 @@ sh64_register_convert_to_raw (struct gdbarch *gdbarch, struct type *type, &val, to); } else - error ("sh64_register_convert_to_raw called with non DR register number"); + error (_("sh64_register_convert_to_raw called " + "with non DR register number")); } static void @@ -2002,7 +2004,7 @@ sh64_do_fp_register (struct gdbarch *gdbarch, struct ui_file *file, /* Get the data in raw format. */ if (!frame_register_read (frame, regnum, raw_buffer)) - error ("can't read register %d (%s)", + error (_("can't read register %d (%s)"), regnum, gdbarch_register_name (gdbarch, regnum)); /* Get the register as a number */ @@ -2161,7 +2163,7 @@ sh64_media_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, if (regnum != -1) /* do one specified register */ { if (*(gdbarch_register_name (gdbarch, regnum)) == '\0') - error ("Not a valid register for the current processor type"); + error (_("Not a valid register for the current processor type")); sh64_print_register (gdbarch, file, frame, regnum); } @@ -2219,10 +2221,10 @@ sh64_compact_print_registers_info (struct gdbarch *gdbarch, if (regnum != -1) /* do one specified register */ { if (*(gdbarch_register_name (gdbarch, regnum)) == '\0') - error ("Not a valid register for the current processor type"); + error (_("Not a valid register for the current processor type")); if (regnum >= 0 && regnum < R0_C_REGNUM) - error ("Not a valid register for the current processor mode."); + error (_("Not a valid register for the current processor mode.")); sh64_print_register (gdbarch, file, frame, regnum); } diff --git a/gdb/spu-tdep.c b/gdb/spu-tdep.c index 2706c934a72..f70b2b88c9b 100644 --- a/gdb/spu-tdep.c +++ b/gdb/spu-tdep.c @@ -176,7 +176,7 @@ spu_register_type (struct gdbarch *gdbarch, int reg_nr) return builtin_type (gdbarch)->builtin_uint32; default: - internal_error (__FILE__, __LINE__, "invalid regnum"); + internal_error (__FILE__, __LINE__, _("invalid regnum")); } } @@ -1462,7 +1462,7 @@ spu_return_value (struct gdbarch *gdbarch, struct type *func_type, break; case RETURN_VALUE_STRUCT_CONVENTION: - error ("Cannot set function return value."); + error (_("Cannot set function return value.")); break; } } @@ -1475,7 +1475,7 @@ spu_return_value (struct gdbarch *gdbarch, struct type *func_type, break; case RETURN_VALUE_STRUCT_CONVENTION: - error ("Function return value unknown."); + error (_("Function return value unknown.")); break; } } diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c index 8f261af54b2..e21fec3ce13 100644 --- a/gdb/tracepoint.c +++ b/gdb/tracepoint.c @@ -2042,7 +2042,7 @@ trace_find_command (char *args, int from_tty) int frameno = -1; if (current_trace_status ()->running && !current_trace_status ()->from_file) - error ("May not look at trace frames while trace is running."); + error (_("May not look at trace frames while trace is running.")); if (args == 0 || *args == 0) { /* TFIND with no args means find NEXT trace frame. */ @@ -2100,7 +2100,7 @@ trace_find_pc_command (char *args, int from_tty) CORE_ADDR pc; if (current_trace_status ()->running && !current_trace_status ()->from_file) - error ("May not look at trace frames while trace is running."); + error (_("May not look at trace frames while trace is running.")); if (args == 0 || *args == 0) pc = regcache_read_pc (get_current_regcache ()); @@ -2118,7 +2118,7 @@ trace_find_tracepoint_command (char *args, int from_tty) struct breakpoint *tp; if (current_trace_status ()->running && !current_trace_status ()->from_file) - error ("May not look at trace frames while trace is running."); + error (_("May not look at trace frames while trace is running.")); if (args == 0 || *args == 0) { @@ -2157,7 +2157,7 @@ trace_find_line_command (char *args, int from_tty) struct cleanup *old_chain; if (current_trace_status ()->running && !current_trace_status ()->from_file) - error ("May not look at trace frames while trace is running."); + error (_("May not look at trace frames while trace is running.")); if (args == 0 || *args == 0) { @@ -2221,7 +2221,7 @@ trace_find_range_command (char *args, int from_tty) char *tmp; if (current_trace_status ()->running && !current_trace_status ()->from_file) - error ("May not look at trace frames while trace is running."); + error (_("May not look at trace frames while trace is running.")); if (args == 0 || *args == 0) { /* XXX FIXME: what should default behavior be? */ @@ -2254,7 +2254,7 @@ trace_find_outside_command (char *args, int from_tty) char *tmp; if (current_trace_status ()->running && !current_trace_status ()->from_file) - error ("May not look at trace frames while trace is running."); + error (_("May not look at trace frames while trace is running.")); if (args == 0 || *args == 0) { /* XXX FIXME: what should default behavior be? */ @@ -3326,7 +3326,7 @@ tfile_open (char *filename, int from_tty) error (_("No register block size recorded in trace file")); if (ts->traceframe_count <= 0) { - warning ("No traceframes present in this file."); + warning (_("No traceframes present in this file.")); return; } @@ -3373,7 +3373,7 @@ tfile_interp_line (char *line, parse_tsv_definition (p, utsvp); } else - warning ("Ignoring trace file definition \"%s\"", line); + warning (_("Ignoring trace file definition \"%s\""), line); } /* Parse the part of trace status syntax that is shared between @@ -3878,7 +3878,7 @@ tfile_fetch_registers (struct target_ops *ops, pos += (4 + 8); break; default: - error ("Unknown block type '%c' (0x%x) in trace frame", + error (_("Unknown block type '%c' (0x%x) in trace frame"), block_type, block_type); break; } @@ -3903,15 +3903,16 @@ tfile_fetch_registers (struct target_ops *ops, /* But don't try to guess if tracepoint is multi-location... */ if (tp->loc->next) { - warning ("Tracepoint %d has multiple " - "locations, cannot infer $pc", + warning (_("Tracepoint %d has multiple " + "locations, cannot infer $pc"), tp->number); return; } /* ... or does while-stepping. */ if (tp->step_count > 0) { - warning ("Tracepoint %d does while-stepping, cannot infer $pc", + warning (_("Tracepoint %d does while-stepping, " + "cannot infer $pc"), tp->number); return; } @@ -3939,7 +3940,7 @@ tfile_xfer_partial (struct target_ops *ops, enum target_object object, return -1; if (readbuf == NULL) - error ("tfile_xfer_partial: trace file is read-only"); + error (_("tfile_xfer_partial: trace file is read-only")); lseek (trace_fd, cur_offset, SEEK_SET); pos = 0; @@ -4003,7 +4004,7 @@ tfile_xfer_partial (struct target_ops *ops, enum target_object object, pos += (4 + 8); break; default: - error ("Unknown block type '%c' (0x%x) in traceframe", + error (_("Unknown block type '%c' (0x%x) in traceframe"), block_type, block_type); break; } @@ -4109,7 +4110,7 @@ tfile_get_trace_state_variable_value (int tsvnum, LONGEST *val) pos += (4 + 8); break; default: - error ("Unknown block type '%c' (0x%x) in traceframe", + error (_("Unknown block type '%c' (0x%x) in traceframe"), block_type, block_type); break; } diff --git a/gdb/valarith.c b/gdb/valarith.c index 18e88b741b8..bbf018a996d 100644 --- a/gdb/valarith.c +++ b/gdb/valarith.c @@ -1731,7 +1731,7 @@ value_pos (struct value *arg1) } else { - error ("Argument to positive operation not a number."); + error (_("Argument to positive operation not a number.")); return 0; /* For lint -- never reached */ } } -- 2.30.2