helpers.h (1913B)
1 /* Copyright (c) 2013, Bastien Dejean 2 * All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are met: 6 * 7 * 1. Redistributions of source code must retain the above copyright notice, this 8 * list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * this list of conditions and the following disclaimer in the documentation 11 * and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 14 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 17 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 18 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 19 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 20 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 22 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 */ 24 25 #ifndef SXHKD_HELPERS_H 26 #define SXHKD_HELPERS_H 27 28 #define LENGTH(x) (sizeof(x) / sizeof(*x)) 29 #define MAXLEN 256 30 31 #ifdef DEBUG 32 # define PUTS(x) puts(x) 33 # define PRINTF(x,...) printf(x, __VA_ARGS__) 34 #else 35 # define PUTS(x) ((void)0) 36 # define PRINTF(x,...) ((void)0) 37 #endif 38 39 void warn(char *fmt, ...); 40 __attribute__((noreturn)) 41 void err(char *fmt, ...); 42 void execute(char *cmd[]); 43 void spawn(char *cmd[], bool sync); 44 void run(char *command, bool sync); 45 char *lgraph(char *s); 46 char *rgraph(char *s); 47 48 #endif