/** * * $Id: mkinline.c,v 1.1 2001/08/21 14:30:35 amai Exp $ * * Copyright (C) 1996 Free Software Foundation, Inc. * Copyright (C) 1996-2001 LessTif Development Team * * This file is part of the GNU LessTif Library. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * **/ static const char rcsid[] = "$Id: mkinline.c,v 1.1 2001/08/21 14:30:35 amai Exp $"; /* this is not a source used for libXm, but we might need it anyway */ #include #include #include #include int main(int argc, char *argv[]) { FILE *in, *out; char t[1024], f[1024]; char line[200]; int count = 0; /* Get the names of the input and output files. */ if (argc != 3) { fprintf(stderr, "Usage: %s INLINE-IN INLINE-OUT\n", argv[0]); return 1; } in = fopen(argv[1], "r"); if (in == NULL) { perror("fopen"); fprintf(stderr, "%s: something's wrong reading %s\n", argv[0], argv[1]); return 2; } out = fopen(argv[2], "w"); if (out == NULL) { perror("fopen"); fprintf(stderr, "%s: something's wrong writing %s\n", argv[0], argv[2]); return 3; } fprintf(out, "#ifndef LESSTIF_PRODUCTION\n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "#include \n"); fprintf(out, "\n"); while (fgets(line, sizeof(line), in) != NULL) { /* "security", try to avoid buffer overflows */ if (strlen(line)>(sizeof(t)-1)) continue; if (sscanf(line, "%[^:]:%s\n", t, f) != 2) continue; if (t[0] == '#') continue; count++; fprintf(out, "%s i%s(Widget w)\n{\n\treturn %s(w);\n}\n\n", t, f, f); } fprintf(out, "#endif\n"); fclose(in); fclose(out); fprintf(stdout, "%s: treated %d inputs\n", argv[0], count); return 0; }