From a9a991633de1ec7dc72c5ec731f4f8a764b3b105 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= <mpg@elzevir.fr>
Date: Thu, 22 Jan 2015 13:19:20 +0000
Subject: [PATCH] generate_errors.pl now errors on duplicate codes

Duplication could easily happen during merges, now it can't go unnoticed.
---
 scripts/generate_errors.pl | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/scripts/generate_errors.pl b/scripts/generate_errors.pl
index b9a8e9c0f..b25e99af8 100755
--- a/scripts/generate_errors.pl
+++ b/scripts/generate_errors.pl
@@ -56,13 +56,22 @@ my $hl_code_check = "";
 
 my $headers = "";
 
+my %error_codes_seen;
+
 while (my $line = <GREP>)
 {
     next if ($line =~ /compat-1.2.h/);
     my ($error_name, $error_code) = $line =~ /(POLARSSL_ERR_\w+)\s+\-(0x\w+)/;
     my ($description) = $line =~ /\/\*\*< (.*?)\.? \*\//;
+
+    die "Duplicated error code: $error_code ($error_name)\n"
+        if( $error_codes_seen{$error_code}++ );
+
     $description =~ s/\\/\\\\/g;
-    $description = "DESCRIPTION MISSING" if ($description eq "");
+    if ($description eq "") {
+        $description = "DESCRIPTION MISSING";
+        warn "Missing description for $error_name\n";
+    }
 
     my ($module_name) = $error_name =~ /^POLARSSL_ERR_([^_]+)/;