blob: fe6c8ed45db39f44c2200ccb841cd35c53206f6d (
plain)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | /* expand-common - common functionality for expand/unexpand Copyright (C) 1989-2025 Free Software Foundation, Inc. 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 3 of the License, or (at your option) any later version. 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 General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. *//* Column numbers are nonnegative, with the leftmost column being zero. Use a signed type, as that allows for better checking. */typedefintmax_t colno;/* If true, convert blanks even after nonblank characters have been read on the line. */externbool convert_entire_line;/* The maximum distance between tab stops. */extern idx_t max_column_width;/* The desired exit status. */externint exit_status;/* Add tab stop TABVAL to the end of 'tab_list'. */externvoidadd_tab_stop(colno tabval);/* Add the comma or blank separated list of tab stops STOPS to the list of tab stops. */externvoidparse_tab_stops(char const*stops)_GL_ATTRIBUTE_NONNULL();/* TODO: Document */extern colno get_next_tab_column(const colno column, idx_t *tab_index,bool*last_tab)_GL_ATTRIBUTE_NONNULL((3));/* Called after all command-line options have been parsed, sets the final tab-stops values */externvoidfinalize_tab_stops(void);/* Sets new file-list */externvoidset_file_list(char**file_list);/* Close the old stream pointer FP if it is non-null, and return a new one opened to read the next input file. Open a filename of '-' as the standard input. Return nullptr if there are no more input files. */externFILE*next_file(FILE*fp);/* */externvoidcleanup_file_list_stdin(void);externvoidemit_tab_list_info(void);
|