diff options
Diffstat (limited to 'utils.c')
-rw-r--r-- | utils.c | 294 |
1 files changed, 63 insertions, 231 deletions
@@ -1,11 +1,10 @@ /*\ - * $Xorg: utils.c,v 1.6 2000/08/17 19:54:51 cpqbld Exp $ * - * COPYRIGHT 1990 - * DIGITAL EQUIPMENT CORPORATION - * MAYNARD, MASSACHUSETTS - * ALL RIGHTS RESERVED. + * COPYRIGHT 1990 + * DIGITAL EQUIPMENT CORPORATION + * MAYNARD, MASSACHUSETTS + * ALL RIGHTS RESERVED. * * THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND * SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. @@ -25,200 +24,42 @@ * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. \*/ -/* $XFree86: xc/programs/xkbutils/utils.c,v 3.4 2001/01/17 23:46:13 dawes Exp $ */ #include "utils.h" #include <ctype.h> #include <stdlib.h> -unsigned int debugFlags; - -/***====================================================================***/ - -Opaque -uAlloc(unsigned size) -{ - return((Opaque)malloc(size)); -} - -/***====================================================================***/ - -Opaque -uCalloc(unsigned n, unsigned size) -{ - return((Opaque)calloc(n,size)); -} - -/***====================================================================***/ - -Opaque -uRealloc(Opaque old, unsigned newSize) -{ - if (old==NULL) - return((Opaque)malloc(newSize)); - else return((Opaque)realloc((char *)old,newSize)); -} - -/***====================================================================***/ - -Opaque -uRecalloc(Opaque old, unsigned nOld, unsigned nNew, unsigned itemSize) -{ -char *rtrn; - - if (old==NULL) - rtrn= (char *)calloc(nNew,itemSize); - else { - rtrn= (char *)realloc((char *)old,nNew*itemSize); - if ((rtrn)&&(nNew>nOld)) { - bzero(&rtrn[nOld*itemSize],(nNew-nOld)*itemSize); - } - } - return (Opaque)rtrn; -} - -/***====================================================================***/ - -void -uFree(Opaque ptr) -{ - if (ptr!=(Opaque)NULL) - free((char *)ptr); - return; -} - -/***====================================================================***/ -/*** FUNCTION ENTRY TRACKING ***/ -/***====================================================================***/ - -static FILE *entryFile= NULL; - int uEntryLevel; - -Boolean -uSetEntryFile(char *name) -{ - if ((entryFile!=NULL)&&(entryFile!=stderr)) { - fprintf(entryFile,"switching to %s\n",name?name:"stderr"); - fclose(entryFile); - } - if (name!=NullString) entryFile= fopen(name,"w"); - else entryFile= stderr; - if (entryFile==NULL) { - entryFile= stderr; - return(False); - } - return(True); -} - -void -uEntry(int l, char *s,...) -{ -int i; -va_list ap; - - va_start(ap, s); - for (i=0;i<uEntryLevel;i++) { - putc(' ',entryFile); - } - vfprintf(entryFile,s,ap); - uEntryLevel+= l; - va_end(ap); - return; -} - -void -uExit(int l, char *rtVal) -{ -int i; - - uEntryLevel-= l; - if (uEntryLevel<0) uEntryLevel= 0; - for (i=0;i<uEntryLevel;i++) { - putc(' ',entryFile); - } - fprintf(entryFile,"---> 0x%p\n",rtVal); - return; -} - /***====================================================================***/ /*** PRINT FUNCTIONS ***/ /***====================================================================***/ - FILE *uDebugFile= NULL; - int uDebugIndentLevel= 0; - int uDebugIndentSize= 4; - -Boolean -uSetDebugFile(char *name) -{ - if ((uDebugFile!=NULL)&&(uDebugFile!=stderr)) { - fprintf(uDebugFile,"switching to %s\n",name?name:"stderr"); - fclose(uDebugFile); - } - if (name!=NullString) uDebugFile= fopen(name,"w"); - else uDebugFile= stderr; - if (uDebugFile==NULL) { - uDebugFile= stderr; - return(False); - } - return(True); -} - -void -uDebug(char *s,...) -{ -int i; -va_list ap; - - va_start(ap, s); - for (i=(uDebugIndentLevel*uDebugIndentSize);i>0;i--) { - putc(' ',uDebugFile); - } - vfprintf(uDebugFile,s,ap); - fflush(uDebugFile); - va_end(ap); - return; -} - -void -uDebugNOI(char *s,...) -{ -va_list ap; - - va_start(ap, s); - vfprintf(uDebugFile,s,ap); - fflush(uDebugFile); - va_end(ap); - return; -} - -/***====================================================================***/ - -static FILE *errorFile= NULL; +static FILE *errorFile = NULL; Boolean -uSetErrorFile(char *name) +uSetErrorFile(const char *name) { - if ((errorFile!=NULL)&&(errorFile!=stderr)) { - fprintf(errorFile,"switching to %s\n",name?name:"stderr"); - fclose(errorFile); + if ((errorFile != NULL) && (errorFile != stderr)) { + fprintf(errorFile, "switching to %s\n", name ? name : "stderr"); + fclose(errorFile); } - if (name!=NullString) errorFile= fopen(name,"w"); - else errorFile= stderr; - if (errorFile==NULL) { - errorFile= stderr; - return(False); + if (name != NullString) + errorFile = fopen(name, "w"); + else + errorFile = stderr; + if (errorFile == NULL) { + errorFile = stderr; + return (False); } - return(True); + return (True); } void -uInformation(char *s,...) +uInformation(const char *s, ...) { va_list ap; va_start(ap, s); - vfprintf(errorFile,s,ap); + vfprintf(errorFile, s, ap); fflush(errorFile); va_end(ap); return; @@ -227,13 +68,13 @@ uInformation(char *s,...) /***====================================================================***/ void -uAction(char *s,...) +uAction(const char *s, ...) { va_list ap; va_start(ap, s); - fprintf(errorFile," "); - vfprintf(errorFile,s,ap); + fprintf(errorFile, " "); + vfprintf(errorFile, s, ap); fflush(errorFile); va_end(ap); return; @@ -242,13 +83,13 @@ uAction(char *s,...) /***====================================================================***/ void -uWarning(char *s,...) +uWarning(const char *s, ...) { va_list ap; va_start(ap, s); - fprintf(errorFile,"Warning: "); - vfprintf(errorFile,s,ap); + fprintf(errorFile, "Warning: "); + vfprintf(errorFile, s, ap); fflush(errorFile); va_end(ap); return; @@ -257,13 +98,13 @@ uWarning(char *s,...) /***====================================================================***/ void -uError(char *s,...) +uError(const char *s, ...) { va_list ap; va_start(ap, s); - fprintf(errorFile,"Error: "); - vfprintf(errorFile,s,ap); + fprintf(errorFile, "Error: "); + vfprintf(errorFile, s, ap); fflush(errorFile); va_end(ap); return; @@ -272,14 +113,14 @@ uError(char *s,...) /***====================================================================***/ void -uFatalError(char *s,...) +uFatalError(const char *s, ...) { va_list ap; va_start(ap, s); - fprintf(errorFile,"Fatal Error: "); - vfprintf(errorFile,s,ap); - fprintf(errorFile," Exiting\n"); + fprintf(errorFile, "Fatal Error: "); + vfprintf(errorFile, s, ap); + fprintf(errorFile, " Exiting\n"); fflush(errorFile); va_end(ap); exit(1); @@ -289,13 +130,13 @@ uFatalError(char *s,...) /***====================================================================***/ void -uInternalError(char *s,...) +uInternalError(const char *s, ...) { va_list ap; va_start(ap, s); - fprintf(errorFile,"Internal error: "); - vfprintf(errorFile,s,ap); + fprintf(errorFile, "Internal error: "); + vfprintf(errorFile, s, ap); fflush(errorFile); va_end(ap); return; @@ -303,61 +144,52 @@ uInternalError(char *s,...) /***====================================================================***/ -#ifndef HAVE_STRDUP -char * -uStringDup(char *str) -{ -char *rtrn; - - if (str==NULL) - return NULL; - rtrn= (char *)uAlloc(strlen(str)+1); - strcpy(rtrn,str); - return rtrn; -} -#endif - #ifndef HAVE_STRCASECMP int -uStrCaseCmp(char *str1, char *str2) +uStrCaseCmp(const char *str1, const char *str2) { - char buf1[512],buf2[512]; + char buf1[512], buf2[512]; char c, *s; + register int n; - for (n=0, s = buf1; (c = *str1++); n++) { - if (isupper(c)) - c = tolower(c); - if (n>510) - break; - *s++ = c; + for (n = 0, s = buf1; (c = *str1++); n++) { + if (isupper(c)) + c = tolower(c); + if (n > 510) + break; + *s++ = c; } *s = '\0'; - for (n=0, s = buf2; (c = *str2++); n++) { - if (isupper(c)) - c = tolower(c); - if (n>510) - break; - *s++ = c; + for (n = 0, s = buf2; (c = *str2++); n++) { + if (isupper(c)) + c = tolower(c); + if (n > 510) + break; + *s++ = c; } *s = '\0'; return (strcmp(buf1, buf2)); } int -uStrCasePrefix(char *prefix, char *str) +uStrCasePrefix(const char *prefix, const char *str) { char c1; char c2; - while (((c1=*prefix)!='\0')&&((c2=*str)!='\0')) { - if (isupper(c1)) c1= tolower(c1); - if (isupper(c2)) c2= tolower(c2); - if (c1!=c2) - return 0; - prefix++; str++; + + while (((c1 = *prefix) != '\0') && ((c2 = *str) != '\0')) { + if (isupper(c1)) + c1 = tolower(c1); + if (isupper(c2)) + c2 = tolower(c2); + if (c1 != c2) + return 0; + prefix++; + str++; } - if (c1!='\0') - return 0; + if (c1 != '\0') + return 0; return 1; } |