[pacman-dev] [PATCH] Use a defined constant in delta.c for num_matches

Dan McGee dan at archlinux.org
Thu Dec 27 03:53:51 EST 2012


This allows compiling in both clang and gcc without running into
oddities regarding const vs. defined constant values.

Signed-off-by: Dan McGee <dan at archlinux.org>
---
 lib/libalpm/delta.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/libalpm/delta.c b/lib/libalpm/delta.c
index 26ae5d5..48c8e91 100644
--- a/lib/libalpm/delta.c
+++ b/lib/libalpm/delta.c
@@ -270,6 +270,8 @@ alpm_list_t SYMEXPORT *alpm_pkg_unused_deltas(alpm_pkg_t *pkg)
 
 /** @} */
 
+#define NUM_MATCHES 6
+
 /** Parses the string representation of a alpm_delta_t object.
  * This function assumes that the string is in the correct format.
  * This format is as follows:
@@ -281,9 +283,8 @@ alpm_list_t SYMEXPORT *alpm_pkg_unused_deltas(alpm_pkg_t *pkg)
 alpm_delta_t *_alpm_delta_parse(alpm_handle_t *handle, const char *line)
 {
 	alpm_delta_t *delta;
-	const int num_matches = 6;
 	size_t len;
-	regmatch_t pmatch[num_matches];
+	regmatch_t pmatch[NUM_MATCHES];
 	char filesize[32];
 
 	/* this is so we only have to compile the pattern once */
@@ -296,7 +297,7 @@ alpm_delta_t *_alpm_delta_parse(alpm_handle_t *handle, const char *line)
 		handle->delta_regex_compiled = 1;
 	}
 
-	if(regexec(&handle->delta_regex, line, num_matches, pmatch, 0) != 0) {
+	if(regexec(&handle->delta_regex, line, NUM_MATCHES, pmatch, 0) != 0) {
 		/* delta line is invalid, return NULL */
 		return NULL;
 	}
@@ -326,6 +327,8 @@ alpm_delta_t *_alpm_delta_parse(alpm_handle_t *handle, const char *line)
 	return delta;
 }
 
+#undef NUM_MATCHES
+
 void _alpm_delta_free(alpm_delta_t *delta)
 {
 	FREE(delta->delta);
-- 
1.8.0.2



More information about the pacman-dev mailing list