summaryrefslogtreecommitdiff
path: root/ext/repo_helix.c
diff options
context:
space:
mode:
authorMichael Schroeder <mls@suse.de>2012-03-06 16:48:30 +0100
committerMichael Schroeder <mls@suse.de>2012-03-09 13:50:29 +0100
commit5ffce4fc9eaa408cfae0d38d1ea8a0d969de94d9 (patch)
treea458d1cec82d6708f05c7deab671c1806e9da62c /ext/repo_helix.c
parentd35bea4966d425c319901689e5f09025c783c976 (diff)
downloadlibsolv-5ffce4fc9eaa408cfae0d38d1ea8a0d969de94d9.tar.gz
libsolv-5ffce4fc9eaa408cfae0d38d1ea8a0d969de94d9.tar.bz2
libsolv-5ffce4fc9eaa408cfae0d38d1ea8a0d969de94d9.zip
- repo_helix: also parse srcpackage elements
Diffstat (limited to 'ext/repo_helix.c')
-rw-r--r--ext/repo_helix.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/repo_helix.c b/ext/repo_helix.c
index 66a975e..aa69f20 100644
--- a/ext/repo_helix.c
+++ b/ext/repo_helix.c
@@ -94,6 +94,7 @@ static struct stateswitch stateswitches[] = {
{ STATE_START, "channel", STATE_CHANNEL, 0 },
{ STATE_CHANNEL, "subchannel", STATE_SUBCHANNEL, 0 },
{ STATE_SUBCHANNEL, "package", STATE_PACKAGE, 0 },
+ { STATE_SUBCHANNEL, "srcpackage", STATE_PACKAGE, 0 },
{ STATE_SUBCHANNEL, "selection", STATE_PACKAGE, 0 },
{ STATE_SUBCHANNEL, "pattern", STATE_PACKAGE, 0 },
{ STATE_SUBCHANNEL, "atom", STATE_PACKAGE, 0 },
@@ -618,6 +619,8 @@ endElement(void *userData, const char *name)
{
case STATE_PACKAGE: /* package complete */
+ if (name[0] == 's' && name[1] == 'r' && name[2] == 'c' && s->arch != ARCH_SRC && s->arch != ARCH_NOSRC)
+ s->arch = ARCH_SRC;
if (!s->arch) /* default to "noarch" */
s->arch = ARCH_NOARCH;