projects
/
debian
/
tar
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
re-mark 1.29b-2 as not yet uploaded (merge madness!)
[debian/tar]
/
src
/
transform.c
diff --git
a/src/transform.c
b/src/transform.c
index c35133fa2578953bc5e21bf5cff9f56f877b8cc9..155d369810d967e61090654e1cefdb97cc722ee0 100644
(file)
--- a/
src/transform.c
+++ b/
src/transform.c
@@
-1,5
+1,5
@@
/* This file is part of GNU tar.
/* This file is part of GNU tar.
- Copyright
(C) 2006, 2007, 2008
Free Software Foundation, Inc.
+ Copyright
2006-2008, 2013-2014, 2016
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
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
@@
-12,8
+12,7
@@
Public License for more details.
You should have received a copy of the GNU General Public License along
Public License for more details.
You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ with this program. If not, see <http://www.gnu.org/licenses/>. */
#include <system.h>
#include <regex.h>
#include <system.h>
#include <regex.h>
@@
-71,7
+70,7
@@
struct transform
\f
\f
-int transform_flags = XFORM_ALL;
+
static
int transform_flags = XFORM_ALL;
static struct transform *transform_head, *transform_tail;
static struct transform *
static struct transform *transform_head, *transform_tail;
static struct transform *
@@
-347,7
+346,7
@@
parse_transform_expr (const char *expr)
break;
case 'L':
break;
case 'L':
- /* Turn the replacement to lowercase until a
`\U' or `
\E'
+ /* Turn the replacement to lowercase until a
'\U' or '
\E'
is found, */
add_case_ctl_segment (tf, ctl_locase);
cur++;
is found, */
add_case_ctl_segment (tf, ctl_locase);
cur++;
@@
-360,7
+359,7
@@
parse_transform_expr (const char *expr)
break;
case 'U':
break;
case 'U':
- /* Turn the replacement to uppercase until a
`\L' or `
\E'
+ /* Turn the replacement to uppercase until a
'\L' or '
\E'
is found, */
add_case_ctl_segment (tf, ctl_upcase);
cur++;
is found, */
add_case_ctl_segment (tf, ctl_upcase);
cur++;
@@
-373,19
+372,21
@@
parse_transform_expr (const char *expr)
break;
case 'E':
break;
case 'E':
- /* Stop case conversion started by
`\L' or `
\U'. */
+ /* Stop case conversion started by
'\L' or '
\U'. */
add_case_ctl_segment (tf, ctl_stop);
cur++;
break;
default:
add_case_ctl_segment (tf, ctl_stop);
cur++;
break;
default:
- /* Try to be nice */
- {
- char buf[2];
- buf[0] = '\\';
- buf[1] = *cur;
- add_literal_segment (tf, buf, buf + 2);
- }
+ if (*cur == delim)
+ add_char_segment (tf, delim);
+ else
+ {
+ char buf[2];
+ buf[0] = '\\';
+ buf[1] = *cur;
+ add_literal_segment (tf, buf, buf + 2);
+ }
cur++;
break;
}
cur++;
break;
}
@@
-628,3
+629,9
@@
transform_name (char **pinput, int type)
{
return transform_name_fp (pinput, type, NULL, NULL);
}
{
return transform_name_fp (pinput, type, NULL, NULL);
}
+
+bool
+transform_program_p (void)
+{
+ return transform_head != NULL;
+}