commit 47b0e52009f9bcf91ac608efd2965d163c31b515
Author: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
Date:   Mon Aug 6 00:52:51 2018 +0200

    src/apprentice.c 2018-08-05-225251 checkpoint _M <7b807237> (+45-44)

diff --git a/magic/Magdir/perl b/magic/Magdir/perl
index 3423b5c3..49572972 100644
--- a/magic/Magdir/perl
+++ b/magic/Magdir/perl
@@ -40,7 +40,7 @@
 0	search/8192	!p
 >0	regex		\^package[\ \t]+[0-9A-Za-z_:]+\ *;
 >>0	regex		\^1\ *;|\^(use|sub|my)\ .*[(;{=]	Perl5 module source text
-!:strength + 75
+!:strength + 76
 
 # Perl POD documents
 # From: Tom Hukins <tom@eborcom.com>
diff --git a/src/apprentice.c b/src/apprentice.c
index 45cf2a9f..c8697159 100644
--- a/src/apprentice.c
+++ b/src/apprentice.c
@@ -841,7 +841,8 @@ private size_t
 apprentice_magic_strength(const struct magic *m)
 {
 #define MULT 10U
-	size_t ts, v, val = 2 * MULT;	/* baseline strength */
+	size_t ts, v;
+	long val = 2 * MULT;	/* baseline strength */
 
 	switch (m->type) {
 	case FILE_DEFAULT:	/* make sure this sorts last */
@@ -947,9 +948,6 @@ apprentice_magic_strength(const struct magic *m)
 		abort();
 	}
 
-	if (val == 0)	/* ensure we only return 0 for FILE_DEFAULT */
-		val = 1;
-
 	switch (m->factor_op) {
 	case FILE_FACTOR_OP_NONE:
 		break;
@@ -969,6 +967,9 @@ apprentice_magic_strength(const struct magic *m)
 		abort();
 	}
 
+	if (val <= 0)	/* ensure we only return 0 for FILE_DEFAULT */
+		val = 1;
+
 	/*
 	 * Magic entries with no description get a bonus because they depend
 	 * on subsequent magic entries to print something.
