]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
- 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 b16c1cf4e5e4128b98239dbebdb7956378a0c56e..c86089a0877ffba44a70130ed4a11d510ca2d955 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 acff8cd57e666cc66aeccde391ddd530887fb7ab..2613da6e672414d87226cca2d1fd02af8a8b8219 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 c7148f68532bc9e247d40863f28468a6411db405..668c78d2a01363c7031e5890668fff0fc40ce77b 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 ed6a5b50c4d38f8d2b65fa73ee3477aa041c1cde..e511872b81384881d7ceb597147be502575b2be5 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 a259976de9dd0cc4aa2f97fd1cba791c5847678a..cc6489289e9cf630310eb28579bea7a80b4cfd03 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)
 {