- INLINE void kputchar(UNUSED(char, c)) { /* nop */ }
- INLINE void kputs(UNUSED(const char*, str)) { /* nop */ }
- INLINE void kprintf(UNUSED(const char*, fmt), ...) { /* nop */ }
+ INLINE void kputchar(UNUSED_ARG(char, c)) { /* nop */ }
+ INLINE int kputnum(UNUSED_ARG(int, num)) { return 0; }
+ INLINE void kputs(UNUSED_ARG(const char *, str)) { /* nop */ }
+ INLINE void kdump(UNUSED_ARG(const void *, buf), UNUSED_ARG(size_t, len)) { /* nop */ }
+
+ #ifdef __cplusplus
+ /* G++ can't inline functions with variable arguments... */
+ #define kprintf(fmt,...) do { (void)(fmt); } while(0)
+ #else
+ /* ...but GCC can. */
+ INLINE void kprintf(UNUSED_ARG(const char *, fmt), ...) { /* nop */ }
+ #endif