[libvirt] [RESEND PATCH 2/5] virstring.h/c: Util method for making some find and replace in strings

Daniel P. Berrange berrange at redhat.com
Mon Jul 22 10:14:49 UTC 2013


On Fri, Jul 19, 2013 at 03:56:05PM +0200, Manuel VIVES wrote:
> ---
>  src/libvirt_private.syms |    1 +
>  src/util/virstring.c     |  129 ++++++++++++++++++++++++++++++++++++++++++++++
>  src/util/virstring.h     |    6 +++
>  3 files changed, 136 insertions(+)
> 
> diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
> index 57a1b50..65e85d4 100644
> --- a/src/libvirt_private.syms
> +++ b/src/libvirt_private.syms
> @@ -1901,6 +1901,7 @@ virStringListLength;
>  virStringSplit;
>  virStrncpy;
>  virStrndup;
> +virStrReplace;
>  virStrToDouble;
>  virStrToLong_i;
>  virStrToLong_l;
> diff --git a/src/util/virstring.c b/src/util/virstring.c
> index 1f4850e..81a3a4d 100644
> --- a/src/util/virstring.c
> +++ b/src/util/virstring.c
> @@ -613,3 +613,132 @@ size_t virStringListLength(char **strings)
>  
>      return i;
>  }
> +
> +/*
> + virStrReplace(haystack, haystacksize, oldneedle, newneedle) --
> +  Search haystack and replace all occurences of oldneedle with newneedle.
> +  Resulting haystack contains no more than haystacksize characters (including the '\0').
> +  If haystacksize is too small to make the replacements, do not modify haystack at all.
> +
> + RETURN VALUES
> + virStrReplace() returns haystack on success and NULL on failure.
> + Failure means there was not enough room to replace all occurences of oldneedle.
> + Success is returned otherwise, even if no replacement is made.
> +Methods found here: http://stackoverflow.com/a/12546318, author: Brandin

NACK, you can't copy code from stackoverflow.com into libvirt. The stackoverflow
user contributions are creative-commons-by-sa licensed, which is not compatible
with Libvirt LGPLv2 license.

>From the stackoverflow.com page footer:

  "site design / logo © 2013 stack exchange inc; user contributions licensed
   under cc-wiki with attribution required" (Links to cc-by-sa license)

>From gnu.org

  http://www.gnu.org/licenses/license-list.html#NonFreeDocumentationLicenses

  "Creative Commons Attribution-Sharealike 2.0 license (a.k.a. CC BY-SA) (#ccbysa)

   This is a copyleft free license that is good for artistic and entertainment
   works, and educational works. Please don't use it for software or
   documentation, since it is incompatible with the GNU GPL and with the GNU
   FDL."

Please throw away this code & write a new implementation from scratch
*without referencing* this stackoverflow code at all.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list