++/**
++ * Merge a single provides, wrapping N as "NS(N)".
++ */
++static int rpmdsNSAdd(rpmstrPool pool, rpmds *dsp, const char * NS,
++ const char *N, const char *EVR, rpmsenseFlags Flags)
++{
++ char *t;
++ rpmds ds;
++ int rc;
++
++ t = (char *) alloca(strlen(NS)+sizeof("()")+strlen(N));
++ *t = '\0';
++ (void) stpcpy( stpcpy( stpcpy( stpcpy(t, NS), "("), N), ")");
++
++ ds = rpmdsSinglePool(pool, RPMTAG_PROVIDENAME, t, EVR, Flags);
++ rc = rpmdsMerge(dsp, ds);
++ rpmdsFree(ds);
++ return rc;
++}
++