diff --git a/src/core/refcnt.c b/src/core/refcnt.c index 36b7ce22..30bb6dea 100644 --- a/src/core/refcnt.c +++ b/src/core/refcnt.c @@ -29,18 +29,18 @@ * 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; } /** diff --git a/src/include/gpxe/refcnt.h b/src/include/gpxe/refcnt.h index 0930a577..68e0fd4b 100644 --- a/src/include/gpxe/refcnt.h +++ b/src/include/gpxe/refcnt.h @@ -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 */