From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Wysochanski Date: Fri, 20 Apr 2007 13:17:43 -0400 Subject: [PATCH REPOST] convert _count_hyphens to generalised count_chars and export In-Reply-To: <1177081612.4206.11.camel@linux-cxyg> References: <1177079834.4206.5.camel@linux-cxyg> <1177081612.4206.11.camel@linux-cxyg> Message-ID: <1177089463.11574.0.camel@linux-cxyg> List-Id: To: lvm-devel@redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Yet another version (similar) of this patch is coming so don't bother review at this point. On Fri, 2007-04-20 at 11:06 -0400, Dave Wysochanski wrote: > (NOTE: only change from previous patch - remove '_' from '_count_chars') > Should not change functional behavior and be simple to review. > Adds newly created function to lvm-string.h exports. > > > Index: LVM2/lib/misc/lvm-string.c > =================================================================== > --- LVM2.orig/lib/misc/lvm-string.c 2007-04-20 10:31:14.000000000 -0400 > +++ LVM2/lib/misc/lvm-string.c 2007-04-20 11:00:53.000000000 -0400 > @@ -36,21 +36,6 @@ int emit_to_buffer(char **buffer, size_t > } > > /* > - * Device layer names are all of the form --, any > - * other hyphens that appear in these names are quoted with yet > - * another hyphen. The top layer of any device has no layer > - * name. eg, vg0-lvol0. > - */ > -static void _count_hyphens(const char *str, size_t *len, int *hyphens) > -{ > - const char *ptr; > - > - for (ptr = str; *ptr; ptr++, (*len)++) > - if (*ptr == '-') > - (*hyphens)++; > -} > - > -/* > * Copies a string, quoting hyphens with hyphens. > */ > static void _quote_hyphens(char **out, const char *src) > @@ -63,6 +48,17 @@ static void _quote_hyphens(char **out, c > } > } > > + > +void count_chars(const char *str, size_t *len, int *count, > + char c) > +{ > + const char *ptr; > + > + for (ptr = str; *ptr; ptr++, (*len)++) > + if (*ptr == c) > + (*count)++; > +} > + > /* > * -- or if !layer just -. > */ > @@ -73,11 +69,11 @@ char *build_dm_name(struct dm_pool *mem, > int hyphens = 1; > char *r, *out; > > - _count_hyphens(vgname, &len, &hyphens); > - _count_hyphens(lvname, &len, &hyphens); > + count_chars(vgname, &len, &hyphens, '-'); > + count_chars(lvname, &len, &hyphens, '-'); > > if (layer && *layer) { > - _count_hyphens(layer, &len, &hyphens); > + count_chars(layer, &len, &hyphens, '-'); > hyphens++; > } > > @@ -105,6 +101,12 @@ char *build_dm_name(struct dm_pool *mem, > return r; > } > > +/* > + * Device layer names are all of the form --, any > + * other hyphens that appear in these names are quoted with yet > + * another hyphen. The top layer of any device has no layer > + * name. eg, vg0-lvol0. > + */ > int validate_name(const char *n) > { > register char c; > Index: LVM2/lib/misc/lvm-string.h > =================================================================== > --- LVM2.orig/lib/misc/lvm-string.h 2007-04-20 10:31:14.000000000 -0400 > +++ LVM2/lib/misc/lvm-string.h 2007-04-20 11:01:06.000000000 -0400 > @@ -30,4 +30,7 @@ char *build_dm_name(struct dm_pool *mem, > > int validate_name(const char *n); > > +void count_chars(const char *str, size_t *len, int *count, > + char c); > + > #endif > Index: LVM2/WHATS_NEW > =================================================================== > --- LVM2.orig/WHATS_NEW 2007-04-20 10:31:14.000000000 -0400 > +++ LVM2/WHATS_NEW 2007-04-20 11:05:29.000000000 -0400 > @@ -1,5 +1,6 @@ > Version 2.02.25 - > ================================= > + Convert _count_hyphens to generalized count_chars. > Add dev_read_circular. > Add pvck command stub. > Update lists of attribute characters in man pages. > > > -- > lvm-devel mailing list > lvm-devel at redhat.com > https://www.redhat.com/mailman/listinfo/lvm-devel