- add join_dup helper, cleanup code
authorMichael Schroeder <mls@suse.de>
Tue, 7 Feb 2012 11:17:42 +0000 (12:17 +0100)
committerMichael Schroeder <mls@suse.de>
Tue, 7 Feb 2012 11:17:42 +0000 (12:17 +0100)
ext/repo_comps.c
ext/repo_products.c
ext/repo_rpmmd.c
ext/repo_zyppdb.c
ext/tools_util.h

index b16c1cf..c86089a 100644 (file)
@@ -199,11 +199,8 @@ startElement(void *userData, const char *name, const char **atts)
     case STATE_CNAME:
     case STATE_DESCRIPTION:
     case STATE_CDESCRIPTION:
-      {
-       const char *lang = find_attr("xml:lang", atts);
-       pd->tmplang = lang ? join2(&pd->jd, lang, 0, 0) : 0;
-       break;
-      }
+      pd->tmplang = join_dup(&pd->jd, find_attr("xml:lang", atts));
+      break;
 
     case STATE_PACKAGEREQ:
       {
index acff8cd..2613da6 100644 (file)
@@ -213,11 +213,8 @@ startElement(void *userData, const char *name, const char **atts)
       /* <summary lang="xy">... */
     case STATE_SUMMARY:
     case STATE_DESCRIPTION:
-      {
-       const char *lang = find_attr("lang", atts);
-       pd->tmplang = lang ? join2(&pd->jd, lang, 0, 0) : 0;
-       break;
-      }
+      pd->tmplang = join_dup(&pd->jd, find_attr("lang", atts));
+      break;
     case STATE_URL:
       pd->urltype = pool_str2id(pd->pool, find_attr("name", atts), 1);
       break;
index c7148f6..668c78d 100644 (file)
@@ -790,11 +790,8 @@ startElement(void *userData, const char *name, const char **atts)
     case STATE_SUMMARY:
     case STATE_CATEGORY:
     case STATE_DESCRIPTION:
-      {
-       const char *lang = find_attr("lang", atts);
-       pd->tmplang = lang ? join2(&pd->jd, lang, 0, 0) : 0;
-       break;
-      }
+      pd->tmplang = join_dup(&pd->jd, find_attr("lang", atts));
+      break;
     case STATE_USERVISIBLE:
       repodata_set_void(pd->data, handle, SOLVABLE_ISVISIBLE);
       break;
index ed6a5b5..e511872 100644 (file)
@@ -178,10 +178,7 @@ startElement(void *userData, const char *name, const char **atts)
       break;
       /* <summary lang="xy">... */
     case STATE_SUMMARY:
-      {
-       const char *lang = find_attr("lang", atts);
-        pd->tmplang = lang ? join2(&pd->jd, lang, 0, 0) : 0;
-      }
+      pd->tmplang = join_dup(&pd->jd, find_attr("lang", atts));
       break;
     default:
       break;
index a259976..cc64892 100644 (file)
@@ -91,6 +91,12 @@ join2(struct joindata *jd, const char *s1, const char *s2, const char *s3)
   return jd->tmp;
 }
 
+static inline char *
+join_dup(struct joindata *jd, const char *s)
+{
+  return s ? join2(jd, s, 0, 0) : 0;
+}
+
 static inline void
 join_freemem(struct joindata *jd)
 {