4b98733132
At one time, new top silently defaulted when an rcfile was found to be incompatible. This is exactly what the old top did. However, after some discussion it was decided top should alert the user and thereby save the system administrator some headaches. Now, some are upset over the fatal error, proving you can't please everybody. But in all fairness, given the difficulty of customizing old top, any reluctance to delete an old saved rcfile is understandable. To ease transition to this new top, old style rcfiles will now be honored and converted to the new format. And if not disabled at ./configure time via CFLAGS, a user will be warned when an old style rcfile is about to be overwritten using the 'W' command. Lastly, the config validation logic was enhanced to help ensure both types of rcfile haven't been edited manually and possibly made unuseable. Reported-By: sergio <mailbox@sergio.spb.ru> Bug-Debian: http://bugs.debian.org/651213 Reported-By: martin f krafft <madduck@debian.org> Bug-Debian: http://bugs.debian.org/651863 Signed-off-by: Jim Warner <james.warner@comcast.net>
96 lines
4.1 KiB
C
96 lines
4.1 KiB
C
/* top_nls.h - provide the basis for future nls translations */
|
||
/*
|
||
* Copyright (c) 2011-2012, by: James C. Warner
|
||
* All rights reserved. 8921 Hilloway Road
|
||
* Eden Prairie, Minnesota 55347 USA
|
||
*
|
||
* This file may be used subject to the terms and conditions of the
|
||
* GNU Library General Public License Version 2, or any later version
|
||
* at your option, as published by the Free Software Foundation.
|
||
* This program is distributed in the hope that it will be useful,
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
* GNU Library General Public License for more details.
|
||
*/
|
||
/* For contributions to this program, the author wishes to thank:
|
||
* Craig Small, <csmall@small.dropbear.id.au>
|
||
* Sami Kerola, <kerolasa@iki.fi>
|
||
*/
|
||
#ifndef _Itop_nls
|
||
#define _Itop_nls
|
||
|
||
/*
|
||
* These are our three string tables with the following contents:
|
||
* Desc : field descriptions not to exceed 20 screen positions
|
||
* Norm : regular text possibly also containing c-format specifiers
|
||
* Uniq : show_special specially formatted strings
|
||
*
|
||
* The latter table presents the greatest translation challenge !
|
||
*
|
||
* We go to the trouble of creating the nls string tables to achieve
|
||
* these objectives:
|
||
* + the overhead of repeated runtime calls to gettext()
|
||
* will be avoided
|
||
* + the order of the strings in the template (.pot) file
|
||
* can be completely controlled
|
||
* + none of the important translator only comments will
|
||
* clutter and obscure the main program
|
||
*/
|
||
extern const char *Desc_nlstab[];
|
||
extern const char *Norm_nlstab[];
|
||
extern const char *Uniq_nlstab[];
|
||
|
||
/*
|
||
* Simple optional macros to ease table access.
|
||
* The N_txt and N_fmt macros are interchangeable but
|
||
* highlight the two types of strings found in Norm_nlstable.
|
||
*/
|
||
#define N_fld(e) Desc_nlstab[e]
|
||
#define N_txt(e) Norm_nlstab[e]
|
||
#define N_fmt(e) Norm_nlstab[e]
|
||
#define N_unq(e) Uniq_nlstab[e]
|
||
|
||
/*
|
||
* These enums are the means to access two of our three tables.
|
||
* The Desc_nlstab is accessed with standard top pflag enums.
|
||
*
|
||
* The norm_nls enums carry a suffix distinguishing plain text
|
||
* from any text also containiing c-format specifiers.
|
||
*/
|
||
enum norm_nls {
|
||
AMT_kilobyte_txt, AMT_megabyte_txt, AMT_gigabyte_txt, BAD_delayint_fmt,
|
||
BAD_integers_txt, BAD_max_task_txt, BAD_mon_pids_fmt, BAD_niterate_fmt,
|
||
BAD_numfloat_txt, BAD_signalid_txt, BAD_username_txt, BAD_widtharg_fmt,
|
||
CHOOSE_group_txt, COLORS_nomap_txt, DELAY_badarg_txt, DELAY_change_fmt,
|
||
DELAY_secure_txt, DISABLED_cmd_txt, DISABLED_win_fmt, EXIT_signals_fmt,
|
||
FAIL_alloc_c_txt, FAIL_alloc_r_txt, FAIL_openlib_fmt, FAIL_rc_open_fmt,
|
||
FAIL_re_nice_fmt, FAIL_sigmask_fmt, FAIL_signals_fmt, FAIL_sigstop_fmt,
|
||
FAIL_statget_txt, FAIL_statopn_fmt, FAIL_tty_get_txt, FAIL_tty_mod_fmt,
|
||
FAIL_tty_raw_fmt, FAIL_widecpu_txt, FAIL_widepid_txt, FIND_no_find_fmt,
|
||
FIND_no_next_txt, FOREST_modes_fmt, FOREST_views_txt, GET_find_str_txt,
|
||
GET_max_task_fmt, GET_nice_num_fmt, GET_pid2kill_txt, GET_pid2nice_txt,
|
||
GET_sigs_num_fmt, GET_user_ids_txt, HELP_cmdline_fmt, HILIGHT_cant_txt,
|
||
IRIX_curmode_fmt, LIMIT_exceed_fmt, MISSING_args_fmt, NAME_windows_fmt,
|
||
NOT_onsecure_txt, NOT_smp_cpus_txt, OFF_one_word_txt, ON_word_only_txt,
|
||
RC_bad_entry_fmt, RC_bad_files_fmt, SCROLL_coord_fmt, SELECT_clash_txt,
|
||
THREADS_show_fmt, TIME_accumed_fmt, UNKNOWN_cmds_txt, UNKNOWN_opts_fmt,
|
||
USAGE_abbrev_txt, WORD_allcpus_txt, WORD_another_txt, WORD_eachcpu_fmt,
|
||
WORD_process_txt, WORD_threads_txt, WRITE_rcfile_fmt, WRONG_switch_fmt,
|
||
#ifndef WARN_CFG_OFF
|
||
XTRA_warncfg_txt,
|
||
#endif
|
||
norm_MAX
|
||
};
|
||
|
||
enum uniq_nls {
|
||
KEYS_helpbas_fmt, KEYS_helpext_fmt, WINDOWS_help_fmt, COLOR_custom_fmt,
|
||
FIELD_header_fmt, MEMORY_lines_fmt, STATE_line_1_fmt, STATE_lin2x4_fmt,
|
||
STATE_lin2x5_fmt, STATE_lin2x6_fmt, STATE_lin2x7_fmt,
|
||
uniq_MAX
|
||
};
|
||
|
||
void initialize_nls (void);
|
||
|
||
#endif /* _Itop_nls */
|
||
|