public inbox for lvm2-cvs@sourceware.org help / color / mirror / Atom feed
From: agk@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2/libdm libdm-string.c Date: Thu, 01 Sep 2011 17:58:00 -0000 [thread overview] Message-ID: <20110901175827.15982.qmail@sourceware.org> (raw) CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: agk@sourceware.org 2011-09-01 17:58:27 Modified files: libdm : libdm-string.c Log message: Add comments & remove always-included header. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/libdm/libdm-string.c.diff?cvsroot=lvm2&r1=1.15&r2=1.16 --- LVM2/libdm/libdm-string.c 2011/08/30 14:55:16 1.15 +++ LVM2/libdm/libdm-string.c 2011/09/01 17:58:27 1.16 @@ -13,7 +13,6 @@ */ #include "dmlib.h" -#include "libdevmapper.h" #include <ctype.h> @@ -179,6 +178,12 @@ (*count)++; } +/* + * Count occurrences of 'c' in 'str' of length 'size'. + * + * Returns: + * Number of occurrences of 'c' + */ unsigned dm_count_chars(const char *str, size_t len, const int c) { size_t i; @@ -191,6 +196,9 @@ return count; } +/* + * Length of string after escaping double quotes and backslashes. + */ size_t dm_escaped_len(const char *str) { size_t len = 1; @@ -289,6 +297,9 @@ _quote_characters(out, src, '-', '-', 0); } +/* + * <vg>-<lv>-<layer> or if !layer just <vg>-<lv>. + */ char *dm_build_dm_name(struct dm_pool *mem, const char *vgname, const char *lvname, const char *layer) { @@ -328,7 +339,7 @@ return r; } -char *dm_build_dm_uuid(struct dm_pool *mem, const char *prefix, const char *lvid, const char *layer) +char *dm_build_dm_uuid(struct dm_pool *mem, const char *uuid_prefix, const char *lvid, const char *layer) { char *dmuuid; size_t len; @@ -336,7 +347,7 @@ if (!layer) layer = ""; - len = strlen(prefix) + strlen(lvid) + strlen(layer) + 1; + len = strlen(uuid_prefix) + strlen(lvid) + strlen(layer) + 1; if (!(dmuuid = dm_pool_alloc(mem, len))) { log_error("build_dm_name: Allocation failed for %" PRIsize_t @@ -344,7 +355,7 @@ return NULL; } - sprintf(dmuuid, "%s%s%s%s", prefix, lvid, (*layer) ? "-" : "", layer); + sprintf(dmuuid, "%s%s%s%s", uuid_prefix, lvid, (*layer) ? "-" : "", layer); return dmuuid; } @@ -362,11 +373,20 @@ return out; } +/* + * Undo quoting in situ. + */ void dm_unescape_double_quotes(char *src) { _unquote_one_character(src, '\"', '\\'); } +/* + * Unescape colons and "at" signs in situ and save the substrings + * starting at the position of the first unescaped colon and the + * first unescaped "at" sign. This is normally used to unescape + * device names used as PVs. + */ void dm_unescape_colons_and_at_signs(char *src, char **substr_first_unquoted_colon, char **substr_first_unquoted_at_sign)
next reply other threads:[~2011-09-01 17:58 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-09-01 17:58 agk [this message] -- strict thread matches above, loose matches on Subject: below -- 2012-02-23 18:19 zkabelac 2011-09-14 16:07 zkabelac 2010-11-23 15:00 zkabelac
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20110901175827.15982.qmail@sourceware.org \ --to=agk@sourceware.org \ --cc=lvm-devel@redhat.com \ --cc=lvm2-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).