diff options
Diffstat (limited to 'kdeprint/lpd/make_driver_db_lpd.c')
-rw-r--r-- | kdeprint/lpd/make_driver_db_lpd.c | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/kdeprint/lpd/make_driver_db_lpd.c b/kdeprint/lpd/make_driver_db_lpd.c deleted file mode 100644 index 02aced962..000000000 --- a/kdeprint/lpd/make_driver_db_lpd.c +++ /dev/null @@ -1,112 +0,0 @@ -/* - * This file is part of the KDE libraries - * Copyright (c) 2001 Michael Goffioul <[email protected]> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License version 2 as published by the Free Software Foundation. - * - * 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; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - **/ - -#include <stdio.h> -#include <stdlib.h> -#include <ctype.h> -#include <string.h> - -#include <config.h> - -#define BUFFER_SIZE 1024 - -int parseRhsPrinterDb(const char *filename, FILE *out); - -int main(int argc, char *argv[]) -{ - FILE *out; - - if (argc != 3) - { - fprintf(stderr,"usage: make_driver_db_lpd <dbdirectory> <dbfilename>\n"); - exit(-1); - } - out = fopen(argv[2],"w"); - if (out == NULL) - { - fprintf(stderr,"Unable to open DB file: %s\n",argv[2]); - exit(-1); - } - /* first parse RHS driver DB */ - if (!parseRhsPrinterDb("/usr/lib/rhs/rhs-printfilters/printerdb",out)) - fprintf(stderr,"Unable to parse RHS DB file\n"); - return 0; -} - -char* skipSpaces(char *c) -{ - char *cc = c; - while (cc && *cc && isspace(*cc)) cc++; - return cc; -} - -int parseRhsPrinterDb(const char *filename, FILE *out) -{ - FILE *in; - char buffer[BUFFER_SIZE], *c; - - in = fopen(filename,"r"); - if (in == NULL) - return 0; - while (fgets(buffer,BUFFER_SIZE,in)) - { - c = skipSpaces(buffer); /* skip leading white spaces */ - if (c == NULL || *c == '#') /* empty line or comment line */ - continue; - if (strncmp(c,"StartEntry:",11) == 0) /* start a new entry */ - { - fprintf(out,"\n"); - fprintf(out,"FILE=%s\n",filename); - c = skipSpaces(c+11); - if (c) - fprintf(out,"MODELNAME=%s",c); - } - else if (strncmp(c,"Description:",12) == 0) - { - char *c1, *c2; - c1 = strchr(c+12,'{'); - c2 = strchr(c+12,'}'); - if (c1 && c2) - { - char model[BUFFER_SIZE], manuf[BUFFER_SIZE]; - char *c3; - - *c2 = 0; - c1++; - c3 = strchr(c1,' '); - if (c3) - { - *c3 = 0; - c3++; - strlcpy(manuf,c1, sizeof(manuf)); - strlcpy(model,c3, sizeof(model)); - } - else - { - strlcpy(model,c1, sizeof(model)); - strlcpy(manuf,"PrintTool (RH)", sizeof(manuf)); - } - fprintf(out,"MANUFACTURER=%s\n",manuf); - fprintf(out,"MODEL=%s\n",model); - fprintf(out,"DESCRIPTION=%s %s\n",manuf,model); - } - } - } - return 1; -} |