Skip to content
Snippets Groups Projects
parse-utils.c 1.76 KiB
Newer Older
  • Learn to ignore specific revisions
  • /*
     * Copyright (C) 2010 Red Hat Inc, Steven Rostedt <srostedt@redhat.com>
     *
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     * This program is free software; you can redistribute it and/or
     * modify it under the terms of the GNU Lesser General Public
     * License as published by the Free Software Foundation;
     * version 2.1 of the License (not later!)
     *
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     * GNU Lesser General Public License for more details.
     *
     * You should have received a copy of the GNU Lesser General Public
     * License along with this program; if not,  see <http://www.gnu.org/licenses>
     *
     * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     */
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <stdarg.h>
    #include <errno.h>
    
    #define __weak __attribute__((weak))
    
    void __vwarning(const char *fmt, va_list ap)
    {
    	if (errno)
    		perror("trace-cmd");
    	errno = 0;
    
    	fprintf(stderr, "  ");
    	vfprintf(stderr, fmt, ap);
    
    	fprintf(stderr, "\n");
    }
    
    void __warning(const char *fmt, ...)
    {
    	va_list ap;
    
    	va_start(ap, fmt);
    	__vwarning(fmt, ap);
    	va_end(ap);
    }
    
    void __weak warning(const char *fmt, ...)
    {
    	va_list ap;
    
    	va_start(ap, fmt);
    	__vwarning(fmt, ap);
    	va_end(ap);
    }
    
    void __vpr_stat(const char *fmt, va_list ap)
    {
    	vprintf(fmt, ap);
    	printf("\n");
    }
    
    void __pr_stat(const char *fmt, ...)
    {
    	va_list ap;
    
    	va_start(ap, fmt);
    	__vpr_stat(fmt, ap);
    	va_end(ap);
    }
    
    void __weak vpr_stat(const char *fmt, va_list ap)
    {
    	__vpr_stat(fmt, ap);
    }
    
    void __weak pr_stat(const char *fmt, ...)
    {
    	va_list ap;
    
    	va_start(ap, fmt);
    	__vpr_stat(fmt, ap);
    	va_end(ap);
    }