RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Olivier Thauvin Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 01-Nov-2007 16:49:35 Branch: HEAD Handle: 2007110115493500 Modified files: rpm/perl RPM_Spec.xs Log: - don't use anymore headerNVR in perl module Summary: Revision Changes Path 1.4 +15 -7 rpm/perl/RPM_Spec.xs ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/perl/RPM_Spec.xs ============================================================================ $ cvs diff -u -r1.3 -r1.4 RPM_Spec.xs --- rpm/perl/RPM_Spec.xs 12 Sep 2007 07:05:04 -0000 1.3 +++ rpm/perl/RPM_Spec.xs 1 Nov 2007 15:49:35 -0000 1.4 @@ -98,16 +98,24 @@ Spec spec PREINIT: const char *name, *version, *release; + char * srctag; + char * srcpath; PPCODE: - (void) headerNVR(spec->packages->header, &name, &version, &release); - XPUSHs(sv_2mortal(newSVpvf("%s/%s-%s-%s.%ssrc.rpm", - rpmGetPath("%{_srcrpmdir}", NULL), - name, version, release, + srcpath = rpmGetPath("%{_srcrpmdir}", NULL); + srctag = headerSprintf( + spec->packages->header, + "%{NAME}-%{VERSION}-%{RELEASE}", + rpmTagTable, + rpmHeaderFormats, + NULL + ); + XPUSHs(sv_2mortal(newSVpvf("%s/%s.%ssrc.rpm", + srcpath, + srctag, spec->noSource ? "no" : "" ))); - headerFreeTag(spec->packages->header, name, RPM_STRING_TYPE); - headerFreeTag(spec->packages->header, version, RPM_STRING_TYPE); - headerFreeTag(spec->packages->header, release, RPM_STRING_TYPE); + _free(srcpath); + _free(srctag); void binrpm(spec) @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org