X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Ftransform.c;h=349a0d59e21c7394781a9d27b44c7df8f2a907ff;hb=e2b8c8fa9f6567ddf60634650dbb4f5ea3462642;hp=525a7875134696289d502d8fdb3039ce19bc2e55;hpb=5e14ef32c0e74789cf354255e72d295c52a5b62d;p=chaz%2Ftar diff --git a/src/transform.c b/src/transform.c index 525a787..349a0d5 100644 --- a/src/transform.c +++ b/src/transform.c @@ -1,9 +1,9 @@ /* This file is part of GNU tar. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 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 2, or (at your option) any later + Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but @@ -64,7 +64,7 @@ struct replace_segm /* Compiled replacement expression */ static struct replace_segm *repl_head, *repl_tail; -static segm_count; /* Number of elements in the above list */ +static size_t segm_count; /* Number of elements in the above list */ static struct replace_segm * add_segment (void) @@ -377,7 +377,6 @@ bool _transform_name_to_obstack (char *input) { regmatch_t *rmp; - char *p; int rc; size_t nmatches = 0; enum case_ctl_type case_ctl = ctl_stop, /* Current case conversion op */ @@ -499,21 +498,21 @@ _transform_name_to_obstack (char *input) } bool -transform_name_fp (char **pinput, char *(*fun)(char *)) +transform_name_fp (char **pinput, char *(*fun)(char *, void *), void *dat) { - char *str, *p; + char *str; bool ret = _transform_name_to_obstack (*pinput); if (ret) { str = obstack_finish (&stk); - assign_string (pinput, fun ? fun (str) : str); + assign_string (pinput, fun ? fun (str, dat) : str); obstack_free (&stk, str); } else if (fun) { str = *pinput; *pinput = NULL; - assign_string (pinput, fun (str)); + assign_string (pinput, fun (str, dat)); free (str); ret = true; } @@ -523,6 +522,6 @@ transform_name_fp (char **pinput, char *(*fun)(char *)) bool transform_name (char **pinput) { - return transform_name_fp (pinput, NULL); + return transform_name_fp (pinput, NULL, NULL); }