From dbf94a72289efaa89fdab27b4cf0608994ebd0a1 Mon Sep 17 00:00:00 2001 From: Stuart Kreitman Date: Thu, 11 Sep 2008 18:28:24 -0700 Subject: Merge Sun's version of xscope in Conversion to ANSI C SysVR4 support Conversion of networking code to use xtrans --- prtype.c | 232 +++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 122 insertions(+), 110 deletions(-) (limited to 'prtype.c') diff --git a/prtype.c b/prtype.c index 685943a..b892b51 100644 --- a/prtype.c +++ b/prtype.c @@ -23,11 +23,40 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. * * + * Copyright 2002 Sun Microsystems, Inc. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, and/or sell copies of the Software, and to permit persons + * to whom the Software is furnished to do so, provided that the above + * copyright notice(s) and this permission notice appear in all copies of + * the Software and that both the above copyright notice(s) and this + * permission notice appear in supporting documentation. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL + * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING + * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION + * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Except as contained in this notice, the name of a copyright holder + * shall not be used in advertising or otherwise to promote the sale, use + * or other dealings in this Software without prior written authorization + * of the copyright holder. + * * ************************************************** */ #include "scope.h" #include "x11.h" +static void DumpHexBuffer(unsigned char *buf, long n); + /* For each of the types we need a way to print that type. Types are of varieties: @@ -47,7 +76,7 @@ /* print representation of a character for debugging */ -char *printrep (c) +static char *printrep (c) unsigned short c; { static char pr[8]; @@ -62,7 +91,7 @@ char *printrep (c) else if (c < 127) { /* printing characters */ - pr[0] = c; + pr[0] = (char) c; pr[1] = '\0'; } else if (c == 127) @@ -81,7 +110,7 @@ char *printrep (c) else { /* very large number -- print as 0xffff - 4 digit hex */ - (void)sprintf(pr, "0x%04x", c); + sprintf(pr, "0x%04x", c); } return(pr); } @@ -106,6 +135,7 @@ char *printrep (c) static char Leader[MaxIndent + 1]; static short CurrentLevel = 0; +void SetIndentLevel(which) short which; { @@ -126,13 +156,14 @@ SetIndentLevel(which) CurrentLevel = which; } +static void ModifyIndentLevel(amount) short amount; { SetIndentLevel(CurrentLevel + amount); } -short SizeofLeader () +static short SizeofLeader () { return (CurrentLevel * 8); } @@ -144,6 +175,7 @@ short SizeofLeader () /* if we want verbose enough output, we will dump the buffer in hex */ +void DumpItem(name, fd, buf, n) char *name; FD fd; @@ -170,9 +202,8 @@ PrintINT8(buf) /* print a INT8 -- 8-bit signed integer */ short n = IByte (buf); if (n > 127) - n = n - 256; - fprintf(stdout, "%d", n); - return(1); + n = 256 - n; + return fprintf(stdout, "%d", n); } PrintINT16(buf) @@ -181,9 +212,8 @@ PrintINT16(buf) /* print a INT16 -- 16-bit signed integer */ long n = IShort (buf); if (n > 32767) - n = n - 65536; - fprintf(stdout, "%d", n); - return(2); + n = 65536 - n; + return fprintf(stdout, "%d", n); } PrintINT32(buf) @@ -191,8 +221,7 @@ PrintINT32(buf) { /* print a INT32 -- 32-bit signed integer */ long n = ILong (buf); - fprintf(stdout, "%d", n); - return(4); + return fprintf(stdout, "%d", n); } /* ************************************************************ */ @@ -201,9 +230,8 @@ PrintCARD8(buf) unsigned char *buf; { /* print a CARD8 -- 8-bit unsigned integer */ - short n = IByte (buf); - fprintf(stdout, "%02x", (unsigned)(n & 0xff)); - return(1); + unsigned short n = IByte (buf); + return fprintf(stdout, "%02x", (unsigned)(n & 0xff)); } PrintCARD16(buf) @@ -211,8 +239,7 @@ PrintCARD16(buf) { /* print a CARD16 -- 16-bit unsigned integer */ unsigned long n = IShort (buf); - fprintf(stdout, "%04x", (unsigned)(n & 0xffff)); - return(2); + return fprintf(stdout, "%04x", (unsigned)(n & 0xffff)); } PrintCARD32(buf) @@ -249,8 +276,8 @@ PrintCHAR8(buf) PrintSTRING16(buf) unsigned char *buf; { - /* print a CHAR2B -- 16-bit character which is never byte-swapped */ - unsigned short n = IChar2B (buf); + /* print a CHAR16 -- 16-bit character */ + unsigned short n = IShort (buf); fprintf(stdout, "%s", printrep(n)); return(1); } @@ -288,12 +315,11 @@ PrintWINDOWD(buf) /* print a WINDOWD -- CARD32 plus 0 = PointerWindow, 1 = InputFocus */ long n = ILong (buf); if (n == 0) - fprintf(stdout, "PointerWindow"); + return fprintf(stdout, "PointerWindow"); else if (n == 1) - fprintf(stdout, "InputFocus"); + return fprintf(stdout, "InputFocus"); else - (void)PrintWINDOW(buf); - return(4); + return PrintWINDOW(buf); } PrintWINDOWNR(buf) @@ -302,12 +328,11 @@ PrintWINDOWNR(buf) /* print a WINDOWNR -- CARD32 plus 0 = None, 1 = PointerRoot */ long n = ILong (buf); if (n == 0) - fprintf(stdout, "None"); + return fprintf(stdout, "None"); else if (n == 1) - fprintf(stdout, "PointerRoot"); + return fprintf(stdout, "PointerRoot"); else - (void)PrintWINDOW(buf); - return(4); + return PrintWINDOW(buf); } @@ -317,10 +342,9 @@ PrintPIXMAP(buf) /* print a PIXMAP -- CARD32 plus 0 = None */ long n = ILong (buf); if (n == 0) - fprintf(stdout, "None"); + return fprintf(stdout, "None"); else - fprintf(stdout, "PXM %08x", n); - return(4); + return fprintf(stdout, "PXM %08x", n); } PrintPIXMAPNPR(buf) @@ -329,12 +353,11 @@ PrintPIXMAPNPR(buf) /* print a PIXMAPNPR -- CARD32 plus 0 = None, 1 = ParentRelative */ long n = ILong (buf); if (n == 0) - fprintf(stdout, "None"); + return fprintf(stdout, "None"); else if (n == 1) - fprintf(stdout, "ParentRelative"); + return fprintf(stdout, "ParentRelative"); else - PrintPIXMAP(buf); - return(4); + return PrintPIXMAP(buf); } PrintPIXMAPC(buf) @@ -343,10 +366,9 @@ PrintPIXMAPC(buf) /* print a PIXMAPC -- CARD32 plus 0 = CopyFromParent */ long n = ILong (buf); if (n == 0) - fprintf(stdout, "CopyFromParent"); + return fprintf(stdout, "CopyFromParent"); else - PrintPIXMAP(buf); - return(4); + return PrintPIXMAP(buf); } @@ -356,10 +378,9 @@ PrintCURSOR(buf) /* print a CURSOR -- CARD32 plus 0 = None */ long n = ILong (buf); if (n == 0) - fprintf(stdout, "None"); + return fprintf(stdout, "None"); else - fprintf(stdout, "CUR %08x", n); - return(4); + return fprintf(stdout, "CUR %08x", n); } @@ -369,10 +390,9 @@ PrintFONT(buf) /* print a FONT -- CARD32 plus 0 = None */ long n = ILong (buf); if (n == 0) - fprintf(stdout, "None"); + return fprintf(stdout, "None"); else - fprintf(stdout, "FNT %08x", n); - return(4); + return fprintf(stdout, "FNT %08x", n); } @@ -381,8 +401,7 @@ PrintGCONTEXT(buf) { /* print a GCONTEXT -- CARD32 */ long n = ILong (buf); - fprintf(stdout, "GXC %08x", n); - return(4); + return fprintf(stdout, "GXC %08x", n); } @@ -404,10 +423,9 @@ PrintCOLORMAPC(buf) /* print a COLORMAPC -- CARD32 plus 0 = CopyFromParent */ long n = ILong (buf); if (n == 0) - fprintf(stdout, "CopyFromParent"); + return fprintf(stdout, "CopyFromParent"); else - (void)PrintCOLORMAP(buf); - return(4); + return PrintCOLORMAP(buf); } @@ -416,8 +434,7 @@ PrintDRAWABLE(buf) { /* print a DRAWABLE -- CARD32 */ long n = ILong (buf); - fprintf(stdout, "DWB %08x", n); - return(4); + return fprintf(stdout, "DWB %08x", n); } PrintFONTABLE(buf) @@ -425,15 +442,14 @@ PrintFONTABLE(buf) { /* print a FONTABLE -- CARD32 */ long n = ILong (buf); - fprintf(stdout, "FTB %08x", n); - return(4); + return fprintf(stdout, "FTB %08x", n); } /* ************************************************************ */ #define NumberofAtoms 68 -char *AtomTable[NumberofAtoms + 1] = +static char *AtomTable[NumberofAtoms + 1] = { "NONE", "PRIMARY", "SECONDARY", "ARC", "ATOM", "BITMAP", "CARDINAL", "COLORMAP", "CURSOR", "CUT_BUFFER0", "CUT_BUFFER1", "CUT_BUFFER2", @@ -473,10 +489,9 @@ PrintATOMT(buf) /* print a ATOMT -- CARD32 plus 0 = AnyPropertyType */ long n = ILong (buf); if (n == 0) - fprintf(stdout, "AnyPropertyType"); + return fprintf(stdout, "AnyPropertyType"); else - (void)PrintATOM(buf); - return(4); + return PrintATOM(buf); } @@ -486,10 +501,9 @@ PrintVISUALID(buf) /* print a VISUALID -- CARD32 plus 0 = None */ long n = ILong (buf); if (n == 0) - fprintf(stdout, "None"); + return fprintf(stdout, "None"); else - fprintf(stdout, "VIS %08x", n); - return(4); + return fprintf(stdout, "VIS %08x", n); } PrintVISUALIDC(buf) @@ -498,10 +512,9 @@ PrintVISUALIDC(buf) /* print a VISUALIDC -- CARD32 plus 0 = CopyFromParent */ long n = ILong (buf); if (n == 0) - fprintf(stdout, "CopyFromParent"); + return fprintf(stdout, "CopyFromParent"); else - PrintVISUALID(buf); - return(4); + return PrintVISUALID(buf); } @@ -511,10 +524,9 @@ PrintTIMESTAMP(buf) /* print a TIMESTAMP -- CARD32 plus 0 as the current time */ long n = ILong (buf); if (n == 0) - fprintf(stdout, "CurrentTime"); + return fprintf(stdout, "CurrentTime"); else - fprintf(stdout, "TIM %08x", n); - return(4); + return fprintf(stdout, "TIM %08x", n); } @@ -524,10 +536,9 @@ PrintRESOURCEID(buf) /* print a RESOURCEID -- CARD32 plus 0 = AllTemporary */ long n = ILong (buf); if (n == 0) - fprintf(stdout, "AllTemporary"); + return fprintf(stdout, "AllTemporary"); else - fprintf(stdout, "RID %08x", n); - return(4); + return fprintf(stdout, "RID %08x", n); } @@ -555,10 +566,9 @@ PrintKEYCODEA(buf) /* print a KEYCODEA -- CARD8 plus 0 = AnyKey */ long n = IByte (buf); if (n == 0) - fprintf(stdout, "AnyKey"); + return fprintf(stdout, "AnyKey"); else - (void)PrintKEYCODE(buf); - return(1); + return PrintKEYCODE(buf); } @@ -567,8 +577,7 @@ PrintBUTTON(buf) { /* print a BUTTON -- CARD8 */ unsigned short n = IByte (buf); - fprintf(stdout, "%d (%s)", n, printrep(n)); - return(1); + return fprintf(stdout, "%d (%s)", n, printrep(n)); } PrintBUTTONA(buf) @@ -577,10 +586,9 @@ PrintBUTTONA(buf) /* print a BUTTONA -- CARD8 plus 0 = AnyButton */ long n = IByte (buf); if (n == 0) - fprintf(stdout, "AnyButton"); + return fprintf(stdout, "AnyButton"); else - PrintBUTTON(buf); - return(1); + return PrintBUTTON(buf); } @@ -595,10 +603,10 @@ PrintEVENTFORM(buf) /* ************************************************************ */ -PrintENUMERATED(buf, length, ValueList) - unsigned char *buf; - short length; - struct ValueListEntry *ValueList; +PrintENUMERATED( + unsigned char *buf, + short length, + struct ValueListEntry *ValueList) { long n; struct ValueListEntry *p; @@ -615,18 +623,17 @@ PrintENUMERATED(buf, length, ValueList) p = p->Next; if (p != NULL) - fprintf(stdout, "%s", p->Name); + return fprintf(stdout, "%s", p->Name); else - fprintf(stdout, "**INVALID** (%d)", n); - return(length); + return fprintf(stdout, "**INVALID** (%d)", n); } /* ************************************************************ */ -PrintSET(buf, length, ValueList) - unsigned char *buf; - short length; - struct ValueListEntry *ValueList; +PrintSET( + unsigned char *buf, + short length, + struct ValueListEntry *ValueList) { unsigned long n; struct ValueListEntry *p; @@ -665,10 +672,9 @@ PrintSET(buf, length, ValueList) } if (MatchesAll) - fprintf(stdout, ""); + return fprintf(stdout, ""); else if (!FoundOne) - fprintf(stdout, "0"); - return(length); + return fprintf(stdout, "0"); } @@ -677,6 +683,7 @@ PrintSET(buf, length, ValueList) /* */ /* ************************************************************ */ +void PrintField(buf, start, length, FieldType, name) unsigned char *buf; short start; @@ -716,7 +723,7 @@ PrintField(buf, start, length, FieldType, name) break; } fprintf(stdout, "\n"); - (void)fflush(stdout); + fflush(stdout); } /* ************************************************************ */ @@ -778,7 +785,7 @@ long PrintList(buf, number, ListType, name) /* print a list of STRs. Similar to PrintList They start at . There are things in the list */ -PrintListSTR(buf, number, name) +long PrintListSTR(buf, number, name) unsigned char *buf; long number; char *name; @@ -788,11 +795,11 @@ PrintListSTR(buf, number, name) long sum; if (number == 0) - return; + return(0); fprintf(stdout, "%s%20s: (%d)\n", Leader, name, number); if (Verbose < 2) - return; + return(0); ModifyIndentLevel(1); sum = 0; @@ -806,7 +813,7 @@ PrintListSTR(buf, number, name) } ModifyIndentLevel(-1); - return; + return(sum); } @@ -826,7 +833,7 @@ PrintBytes(buf, number, name) short column; if (number == 0) - return; + return(0); fprintf(stdout, "%s%20s: ", Leader, name); column = SizeofLeader() + 25; @@ -844,7 +851,7 @@ PrintBytes(buf, number, name) } fprintf(stdout, "\n"); - return; + return(number); } @@ -858,42 +865,45 @@ PrintBytes(buf, number, name) PrintString8(buf, number, name) unsigned char buf[]; - long number; + short number; char *name; { - long i; + short i; if (number == 0) - return; + return(0); fprintf(stdout, "%s%20s: \"", Leader, name); for (i = 0; i < number; i++) fprintf(stdout, "%s", printrep(buf[i])); fprintf(stdout, "\"\n"); + + return(number); } -/* print a String of CHAR2B -- 16-bit characters */ +/* print a String of CHAR16 -- 16-bit characters */ PrintString16(buf, number, name) unsigned char buf[]; - long number; + short number; char *name; { - long i; - long j; + short i; unsigned short c; if (number == 0) - return; + return(0); fprintf(stdout, "%s%20s: \"", Leader, name); - for (i = 0, j = 0; i < number; i += 1, j += 2) + for (i = 0; i < number; i += 2) { - c = IChar2B(&buf[j]); + c = IShort(&buf[i]); fprintf(stdout, "%s", printrep(c)); } fprintf(stdout, "\"\n"); + + return(number); } /* ************************************************************ */ @@ -909,6 +919,7 @@ PrintString16(buf, number, name) (2) A list of values. */ +void PrintValues(control, clength, ctype, values, name) unsigned char *control; short clength; @@ -970,7 +981,7 @@ PrintTextList8(buf, length, name) if (n != 255) { PrintField(buf, 1, 1, INT8, "delta"); - PrintString8(&buf[2], (long)n, "text item 8 string"); + PrintString8(&buf[2], n, "text item 8 string"); buf += n + 2; length -= n + 2; } @@ -997,7 +1008,7 @@ PrintTextList16(buf, length, name) if (n != 255) { PrintField(buf, 1, 1, INT8, "delta"); - PrintString16(&buf[2], (long)n, "text item 16 string"); + PrintString16(&buf[2], n, "text item 16 string"); buf += n + 2; length -= n + 2; } @@ -1018,6 +1029,7 @@ PrintTextList16(buf, length, name) #define MAXline 78 +static void DumpHexBuffer(buf, n) unsigned char *buf; long n; @@ -1030,7 +1042,7 @@ DumpHexBuffer(buf, n) for (i = 0; i < n; i++) { /* get the hex representations */ - (void)sprintf(h, "%02x",(0xff & buf[i])); + sprintf(h, "%02x",(0xff & buf[i])); /* check if these characters will fit on this line */ if ((column + strlen(h) + 1) > MAXline) -- cgit v1.2.1