libkmid Library API Documentation

dattypes.cc

00001 /**************************************************************************
00002  
00003     dattypes.cc  - Some always useful definitions and functions
00004     This file is part of LibKMid 0.9.5
00005     Copyright (C) 1997,98,99,2000  Antonio Larrosa Jimenez
00006     LibKMid's homepage : http://www.arrakis.es/~rlarrosa/libkmid.html
00007  
00008     This library is free software; you can redistribute it and/or
00009     modify it under the terms of the GNU Library General Public
00010     License as published by the Free Software Foundation; either
00011     version 2 of the License, or (at your option) any later version.
00012  
00013     This library is distributed in the hope that it will be useful,
00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016     Library General Public License for more details.
00017  
00018     You should have received a copy of the GNU Library General Public License
00019     along with this library; see the file COPYING.LIB.  If not, write to
00020     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00021     Boston, MA 02111-1307, USA.                                                  
00022  
00023     Send comments and bug fixes to Antonio Larrosa <larrosa@kde.org>
00024  
00025 ***************************************************************************/
00026 #include "dattypes.h"
00027 #include <stdio.h>
00028 
00029 ushort readShort(FILE *fh)
00030 {
00031   uchar c1;
00032   uchar c2;
00033 
00034   fread(&c1,1,1,fh);
00035   fread(&c2,1,1,fh);
00036   return (c1<<8)|c2;
00037 }
00038 
00039 ulong readLong(FILE *fh)
00040 {
00041   uchar c1;
00042   uchar c2;
00043   uchar c3;
00044   uchar c4;
00045   ulong l;
00046 
00047   fread(&c1,1,1,fh);
00048   fread(&c2,1,1,fh);
00049   fread(&c3,1,1,fh);
00050   fread(&c4,1,1,fh);
00051   l=((c1<<24)|(c2<<16)|(c3<<8)|c4);
00052   return l;
00053 }
00054 
00055 #ifdef DEBUG
00056 
00057 void printfdebug(const char *format, int a, int b, int c)
00058 {
00059   char *s=(char *)format;
00060   int i=0;
00061   while (*s!=0)
00062   {
00063     if (*s=='%') i++;
00064     s++;
00065   } 
00066   switch (i)
00067   {
00068     case (1) : fprintf(stderr,format,a); break;
00069     case (2) : fprintf(stderr,format,a,b); break;
00070     case (3) : fprintf(stderr,format,a,b,c); break;
00071     default : fprintf(stderr,format); break;
00072   }
00073 
00074 }
00075 
00076 void printfdebug(const char *format, int a, long b)
00077 {
00078   fprintf(stderr,format,a,b);
00079 }
00080 
00081 void printfdebug(const char *format, double a, double b, double c)
00082 {
00083   char *s=(char *)format;
00084   int i=0;
00085   while (*s!=0)
00086   {
00087     if (*s=='%') i++;
00088     s++;
00089   } 
00090   switch (i)
00091   {
00092     case (1) : fprintf(stderr,format,a); break;
00093     case (2) : fprintf(stderr,format,a,b); break;
00094     case (3) : fprintf(stderr,format,a,b,c); break;
00095     default : fprintf(stderr,format); break;
00096   }
00097 
00098 }
00099 #else
00100 
00101 void printfdebug(const char *, int , int , int )
00102 {
00103 }
00104 void printfdebug(const char *, int , long )
00105 {
00106 }
00107 void printfdebug(const char *, double , double , double )
00108 {
00109 }
00110 #endif
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.4.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Sun Feb 27 22:15:59 2005 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001