Make ref_get() return the reference, for cleaner code.
authorMichael Brown <mcb30@etherboot.org>
Sun, 8 Jul 2007 21:02:45 +0000 (22:02 +0100)
committerMichael Brown <mcb30@etherboot.org>
Sun, 8 Jul 2007 21:02:45 +0000 (22:02 +0100)
src/core/refcnt.c
src/include/gpxe/refcnt.h

index 36b7ce2..30bb6de 100644 (file)
  * Increment reference count
  *
  * @v refcnt           Reference counter, or NULL
+ * @ret refcnt         Reference counter
  *
  * If @c refcnt is NULL, no action is taken.
  */
-void ref_get ( struct refcnt *refcnt ) {
+struct refcnt * ref_get ( struct refcnt *refcnt ) {
 
-       if ( ! refcnt )
-               return;
-
-       refcnt->refcnt++;
-
-       DBGC2 ( refcnt, "REFCNT %p incremented to %d\n",
-               refcnt, refcnt->refcnt );
+       if ( refcnt ) {
+               refcnt->refcnt++;
+               DBGC2 ( refcnt, "REFCNT %p incremented to %d\n",
+                       refcnt, refcnt->refcnt );
+       }
+       return refcnt;
 }
 
 /**
index 0930a57..68e0fd4 100644 (file)
@@ -38,7 +38,7 @@ struct refcnt {
        void ( * free ) ( struct refcnt *refcnt );
 };
 
-extern void ref_get ( struct refcnt *refcnt );
+extern struct refcnt * ref_get ( struct refcnt *refcnt );
 extern void ref_put ( struct refcnt *refcnt );
 
 #endif /* _GPXE_REFCNT_H */