From 0f48c759bb7c236ab2082b6c73f8b22acd6c52fa Mon Sep 17 00:00:00 2001
From: Jason Travis Smith <Myrddin@CyberMagesLLC.com>
Date: Tue, 25 Jun 2019 03:38:12 -0400
Subject: [PATCH] Allowing attributes on more macros.

---
 src/macros.rs | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/macros.rs b/src/macros.rs
index 380abf4..75f6e5b 100644
--- a/src/macros.rs
+++ b/src/macros.rs
@@ -4,30 +4,30 @@ macro_rules! c_library
    {
       $(statics:
         {
-           $($sname: ident: $stype: ty);+;
+           $($(#[$satter: meta])* $sname: ident: $stype: ty);+;
         }
       )?
 
       $(functions:
         {
-           $($fname: ident($($farg: ident: $fargt: ty),*) -> $fret:ty);+;
+           $($(#[$fatter: meta])* $fname: ident($($farg: ident: $fargt: ty),*) -> $fret:ty);+;
         }
       )?
 
       $(varargs:
         {
-           $($vname: ident($($vargs: ident: $vargst: ty),+) -> $vret:ty);+;
+           $($(#[$vatter: meta])* $vname: ident($($vargs: ident: $vargst: ty),+) -> $vret:ty);+;
         }
       )?
    } =>
    {
       extern "C"
       {
-         $($(pub static $sname: $stype;)+)?
+         $($($(#[$satter])* pub static $sname: $stype;)+)?
 
-         $($(pub fn $fname($($farg: $fargt),*) -> $fret;)+)?
+         $($($(#[$fatter])* pub fn $fname($($farg: $fargt),*) -> $fret;)+)?
 
-         $($(pub fn $vname($(vargs: $vargst),+ , ...) -> $vret;)+)?
+         $($($(#[$vatter])* pub fn $vname($(vargs: $vargst),+ , ...) -> $vret;)+)?
       }
    };
 }
@@ -40,19 +40,19 @@ macro_rules! external_library
       {
          $(statics:
            {
-              $($sname: ident: $stype: ty);+;
+              $($(#[$satter: meta])* $sname: ident: $stype: ty);+;
            }
          )?
 
          $(functions:
            {
-              $($fname: ident($($farg: ident: $fargt: ty),*) -> $fret:ty);+;
+              $($(#[$fatter: meta])* $fname: ident($($farg: ident: $fargt: ty),*) -> $fret:ty);+;
            }
          )?
 
          $(varargs:
            {
-              $($vname: ident($($vargs: ident: $vargst: ty),+) -> $vret:ty);+;
+              $($(#[$vatter: meta])* $vname: ident($($vargs: ident: $vargst: ty),+) -> $vret:ty);+;
            }
          )?
       }
@@ -61,11 +61,11 @@ macro_rules! external_library
       #[link(name=$link)]
       extern "C"
       {
-         $($(pub static $sname: $stype;)+)?
+         $($($(#[$satter])* pub static $sname: $stype;)+)?
 
-         $($(pub fn $fname($($farg: $fargt),*) -> $fret;)+)?
+         $($($(#[$fatter])* pub fn $fname($($farg: $fargt),*) -> $fret;)+)?
 
-         $($(pub fn $vname($(vargs: $vargst),+ , ...) -> $vret;)+)?
+         $($($(#[$vatter])* pub fn $vname($(vargs: $vargst),+ , ...) -> $vret;)+)?
       }
    };
 }