xref: /freebsd/contrib/xz/src/xz/suffix.h (revision a91a2465)
1 // SPDX-License-Identifier: 0BSD
2 
3 ///////////////////////////////////////////////////////////////////////////////
4 //
5 /// \file       suffix.h
6 /// \brief      Checks filename suffix and creates the destination filename
7 //
8 //  Author:     Lasse Collin
9 //
10 ///////////////////////////////////////////////////////////////////////////////
11 
12 /// \brief      Get the name of the destination file
13 ///
14 /// Depending on the global variable opt_mode, this tries to find a matching
15 /// counterpart for src_name. If the name can be constructed, it is allocated
16 /// and returned (caller must free it). On error, a message is printed and
17 /// NULL is returned.
18 extern char *suffix_get_dest_name(const char *src_name);
19 
20 
21 /// \brief      Set a custom filename suffix
22 ///
23 /// This function calls xstrdup() for the given suffix, thus the caller
24 /// doesn't need to keep the memory allocated. There can be only one custom
25 /// suffix, thus if this is called multiple times, the old suffixes are freed
26 /// and forgotten.
27 extern void suffix_set(const char *suffix);
28 
29 
30 /// \brief      Check if a custom suffix has been set
31 ///
32 /// Returns true if the internal tracking of the suffix string has been set
33 /// and false if the string has not been set. This will keep the suffix
34 /// string encapsulated instead of extern-ing the variable.
35 extern bool suffix_is_set(void);
36