/* * The Spar Library - modular math parser * Copyright (C) 2000,2001 Davide Angelocola * * This library 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; either * version 2.1 of the License. * * This library 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 library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ #include #include static void __write_string_len (const char *s, const char c) { while (*s++ != '\0') sl_write ("%c", c); } int sl_table_create (const char *title, sl_table_column cols[], int rows, void (*print) (int)) { register unsigned int i = 0; sl_writeln ("%s", title); __write_string_len (title, '-'); sl_writeln (""); for (i = 0; cols[i].len != 0; i++) sl_write ("%-*s", cols[i].len, cols[i].name); sl_writeln (""); sl_writeln (""); for (i = 0; i < rows; i++) { (*print) (i); sl_writeln (""); } return SL_SUCCESS; }