Skip to content

Commit

Permalink
[graph] Tidy uses of sprintf (#51)
Browse files Browse the repository at this point in the history
1/n prep step for eventual ban of uses of `sprintf`.
  • Loading branch information
GabrielDosReis authored Jul 17, 2024
1 parent 0d49158 commit 1202b30
Show file tree
Hide file tree
Showing 12 changed files with 96 additions and 127 deletions.
106 changes: 37 additions & 69 deletions src/graph/Gdraws/Gfun.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
Copyright (C) 1991-2002, The Numerical ALgorithms Group Ltd.
All rights reserved.
Copyright (C) 2007-2008, Gabriel Dos Reis.
Copyright (C) 2007-2024, Gabriel Dos Reis.
All rights reserved.
Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -698,77 +698,45 @@ PSGlobalInit(void)
if ((envAXIOM = oa_getenv("DEVE")) != NULL) { /* get env var AXIOM */

psData[headerps].flag = yes;
sprintf(psData[headerps].filename, "%s%s", envAXIOM, "/Gdraws/PS/header.ps");
sprintf(psData[drawps].filename, "%s%s", envAXIOM, "/Gdraws/PS/draw.ps");
sprintf(psData[drawarcps].filename, "%s%s", envAXIOM,
"/Gdraws/PS/drawarc.ps");
sprintf(psData[drawfilledps].filename, "%s%s", envAXIOM,
"/Gdraws/PS/drwfilled.ps");
sprintf(psData[drawcolorps].filename, "%s%s", envAXIOM,
"/Gdraws/PS/drawcolor.ps");
sprintf(psData[fillpolyps].filename, "%s%s", envAXIOM,
"/Gdraws/PS/fillpoly.ps");
sprintf(psData[colorpolyps].filename, "%s%s", envAXIOM,
"/Gdraws/PS/colorpoly.ps");
sprintf(psData[fillwolps].filename, "%s%s", envAXIOM,
"/Gdraws/PS/fillwol.ps");
sprintf(psData[colorwolps].filename, "%s%s", envAXIOM,
"/Gdraws/PS/colorwol.ps");
sprintf(psData[drawpointps].filename, "%s%s", envAXIOM,
"/Gdraws/PS/drawpoint.ps");
sprintf(psData[drawlineps].filename, "%s%s", envAXIOM,
"/Gdraws/PS/drawline.ps");
sprintf(psData[drawlinesps].filename, "%s%s", envAXIOM,
"/Gdraws/PS/drawlines.ps");
sprintf(psData[drawrectps].filename, "%s%s", envAXIOM,
"/Gdraws/PS/drawrect.ps");
sprintf(psData[drawstrps].filename, "%s%s", envAXIOM,
"/Gdraws/PS/drawstr.ps");
sprintf(psData[drawIstrps].filename, "%s%s", envAXIOM,
"/Gdraws/PS/drawIstr.ps");
sprintf(psData[fillarcps].filename, "%s%s", envAXIOM,
"/Gdraws/PS/fillarc.ps");
sprintf(psData[setupps].filename, "%s%s", envAXIOM, "/Gdraws/PS/setup.ps");
sprintf(psData[endps].filename, "%s%s", envAXIOM, "/Gdraws/PS/end.ps");
sprintf(psData[headerps].filename, "%s/Gdraws/PS/header.ps", envAXIOM);
sprintf(psData[drawps].filename, "%s/Gdraws/PS/draw.ps", envAXIOM);
sprintf(psData[drawarcps].filename, "%s/Gdraws/PS/drawarc.ps", envAXIOM);
sprintf(psData[drawfilledps].filename, "%s/Gdraws/PS/drwfilled.ps", envAXIOM);
sprintf(psData[drawcolorps].filename, "%s/Gdraws/PS/drawcolor.ps", envAXIOM);
sprintf(psData[fillpolyps].filename, "%s/Gdraws/PS/fillpoly.ps", envAXIOM);
sprintf(psData[colorpolyps].filename, "%s/Gdraws/PS/colorpoly.ps", envAXIOM);
sprintf(psData[fillwolps].filename, "%s/Gdraws/PS/fillwol.ps", envAXIOM);
sprintf(psData[colorwolps].filename, "%s/Gdraws/PS/colorwol.ps", envAXIOM);
sprintf(psData[drawpointps].filename, "%s/Gdraws/PS/drawpoint.ps", envAXIOM);
sprintf(psData[drawlineps].filename, "%s/Gdraws/PS/drawline.ps", envAXIOM);
sprintf(psData[drawlinesps].filename, "%s/Gdraws/PS/drawlines.ps", envAXIOM);
sprintf(psData[drawrectps].filename, "%s/Gdraws/PS/drawrect.ps", envAXIOM);
sprintf(psData[drawstrps].filename, "%s/Gdraws/PS/drawstr.ps", envAXIOM);
sprintf(psData[drawIstrps].filename, "%s/Gdraws/PS/drawIstr.ps", envAXIOM);
sprintf(psData[fillarcps].filename, "%s/Gdraws/PS/fillarc.ps", envAXIOM);
sprintf(psData[setupps].filename, "%s/Gdraws/PS/setup.ps", envAXIOM);
sprintf(psData[endps].filename, "%s/Gdraws/PS/end.ps", envAXIOM);
}
else if ((envAXIOM = oa_getenv("AXIOM")) != NULL) {
psData[headerps].flag = yes;
sprintf(psData[headerps].filename, "%s%s", envAXIOM,
"/lib/graph/header.ps");
sprintf(psData[drawps].filename, "%s%s", envAXIOM,
"/lib/graph/draw.ps");
sprintf(psData[drawarcps].filename, "%s%s", envAXIOM,
"/lib/graph/drawarc.ps");
sprintf(psData[drawfilledps].filename, "%s%s", envAXIOM,
"/lib/graph/drwfilled.ps");
sprintf(psData[drawcolorps].filename, "%s%s", envAXIOM,
"/lib/graph/drawcolor.ps");
sprintf(psData[fillpolyps].filename, "%s%s", envAXIOM,
"/lib/graph/fillpoly.ps");
sprintf(psData[colorpolyps].filename, "%s%s", envAXIOM,
"/lib/graph/colorpoly.ps");
sprintf(psData[fillwolps].filename, "%s%s", envAXIOM,
"/lib/graph/fillwol.ps");
sprintf(psData[colorwolps].filename, "%s%s", envAXIOM,
"/lib/graph/colorwol.ps");
sprintf(psData[drawpointps].filename, "%s%s", envAXIOM,
"/lib/graph/drawpoint.ps");
sprintf(psData[drawlineps].filename, "%s%s", envAXIOM,
"/lib/graph/drawline.ps");
sprintf(psData[drawlinesps].filename, "%s%s", envAXIOM,
"/lib/graph/drawlines.ps");
sprintf(psData[drawrectps].filename, "%s%s", envAXIOM,
"/lib/graph/drawrect.ps");
sprintf(psData[drawstrps].filename, "%s%s", envAXIOM,
"/lib/graph/drawstr.ps");
sprintf(psData[drawIstrps].filename, "%s%s", envAXIOM,
"/lib/graph/drawIstr.ps");
sprintf(psData[fillarcps].filename, "%s%s", envAXIOM,
"/lib/graph/fillarc.ps");
sprintf(psData[setupps].filename, "%s%s", envAXIOM,
"/lib/graph/setup.ps");
sprintf(psData[endps].filename, "%s%s", envAXIOM,
"/lib/graph/end.ps");
sprintf(psData[headerps].filename, "%s/lib/graph/header.ps", envAXIOM);
sprintf(psData[drawps].filename, "%s/lib/graph/draw.ps", envAXIOM);
sprintf(psData[drawarcps].filename, "%s/lib/graph/drawarc.ps", envAXIOM);
sprintf(psData[drawfilledps].filename, "%s/lib/graph/drwfilled.ps", envAXIOM);
sprintf(psData[drawcolorps].filename, "%s/lib/graph/drawcolor.ps", envAXIOM);
sprintf(psData[fillpolyps].filename, "%s/lib/graph/fillpoly.ps", envAXIOM);
sprintf(psData[colorpolyps].filename, "%s/lib/graph/colorpoly.ps", envAXIOM);
sprintf(psData[fillwolps].filename, "%s/lib/graph/colorpoly.ps", envAXIOM);
sprintf(psData[colorwolps].filename, "%s/lib/graph/colorwol.ps", envAXIOM);
sprintf(psData[drawpointps].filename, "%s/lib/graph/drawpoint.ps", envAXIOM);
sprintf(psData[drawlineps].filename, "%s/lib/graph/drawline.ps", envAXIOM);
sprintf(psData[drawlinesps].filename, "%s/lib/graph/drawlines.ps", envAXIOM);
sprintf(psData[drawrectps].filename, "%s/lib/graph/drawrect.ps", envAXIOM);
sprintf(psData[drawstrps].filename, "%s/lib/graph/drawstr.ps", envAXIOM);
sprintf(psData[drawIstrps].filename, "%s/lib/graph/drawIstr.ps", envAXIOM);
sprintf(psData[fillarcps].filename, "%s/lib/graph/fillarc.ps", envAXIOM);
sprintf(psData[setupps].filename, "%s/lib/graph/fillarc.ps", envAXIOM);
sprintf(psData[endps].filename, "%s/lib/graph/end.ps", envAXIOM);
}
else {
fprintf(stderr, " need environment variable AXIOM or DEVE; process aborted\n");
Expand Down
2 changes: 1 addition & 1 deletion src/graph/view2D/control2d.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
Copyright (C) 1991-2002, The Numerical Algorithms Group Ltd.
All rights reserved.
Copyright (C) 2007-2011, Gabriel Dos Reis.
Copyright (C) 2007-2024, Gabriel Dos Reis.
All rights reserved.
Redistribution and use in source and binary forms, with or without
Expand Down
20 changes: 10 additions & 10 deletions src/graph/view2D/process2d.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
Copyright (C) 1991-2002, The Numerical Algorithms Group Ltd.
All rights reserved.
Copyright (C) 2007-2011, Gabriel Dos Reis.
Copyright (C) 2007-2024, Gabriel Dos Reis.
All rights reserved.
Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -73,9 +73,9 @@ doPick (int i,int bKey)
check(write(Socket,&(graphArray[currentGraph].key),intSize));
check(write(Socket,&(graphStateArray[currentGraph]),
sizeof(graphStateStruct)));
sprintf(control->message,"%s%d","Picked up graph ",currentGraph+1);
sprintf(control->message,"Picked up graph %d",currentGraph+1);
} else
sprintf(control->message,"%s","This graph is empty!");
strcpy(control->message, "This graph is empty!");
writeControlMessage();


Expand All @@ -94,10 +94,10 @@ doDrop (int i,int bKey)
check(write(Socket,&(vCommand),intSize));
readViewman(&viewGoAhead,intSize);
if (viewGoAhead < 0) {
sprintf(control->message,"%s%d","Couldn't drop to graph ",currentGraph+1);
sprintf(control->message,"Couldn't drop to graph %d", currentGraph+1);
writeControlMessage();
} else {
sprintf(control->message,"%s%d","Dropped onto graph ",currentGraph+1);
sprintf(control->message,"Dropped onto graph %d", currentGraph+1);
writeControlMessage();
freeGraph(currentGraph);
readViewman(&(graphArray[currentGraph].key),intSize);
Expand Down Expand Up @@ -195,34 +195,34 @@ buttonAction (int bKey)

case pick2D:
if (viewAloned) {
sprintf(control->message,"%s","Cannot pick without OpenAxiom!");
strcpy(control->message, "Cannot pick without OpenAxiom!");
writeControlMessage();
XSync(dsply,False);
}
else {
doit = pick2D;
sprintf(control->message,"%s","Click on the graph to pick");
strcpy(control->message, "Click on the graph to pick");
writeControlMessage();
XSync(dsply,False);
}
break;

case drop2D:
if (viewAloned) {
sprintf(control->message,"%s","Cannot drop without OpenAxiom!");
strcpy(control->message, "Cannot drop without OpenAxiom!");
writeControlMessage();
XSync(dsply,False);
} else {
doit = drop2D;
sprintf(control->message,"%s","Click on the graph to drop");
strcpy(control->message, "Click on the graph to drop");
writeControlMessage();
XSync(dsply,False);
}
break;

case query2D:
doit = query2D;
sprintf(control->message,"%s","Click on the graph to query");
strcpy(control->message, "Click on the graph to query");
writeControlMessage();
XSync(dsply,False);
break;
Expand Down
12 changes: 6 additions & 6 deletions src/graph/view2D/spadAction2d.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
Copyright (C) 1991-2002, The Numerical Algorithms Group Ltd.
All rights reserved.
Copyright (C) 2007-2008, Gabriel Dos Reis.
Copyright (C) 2007-2024, Gabriel Dos Reis.
All rights reserved.
Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -38,6 +38,7 @@

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

#include "header2.h"
Expand All @@ -55,8 +56,7 @@ readViewman(void * info,int size)
{
int mold = 0;

sprintf(errorStr,"%s %d %s","read of ",size,
" bytes from viewport manager\n");
sprintf(errorStr,"read of %d bytes from viewport manager\n", size);
mold = check(read(0,info,size));
return(mold);

Expand Down Expand Up @@ -109,7 +109,7 @@ spadAction(void)
readViewman(&i1,intSize);
readViewman(filename,i1);
filename[i1] = '\0';
sprintf(errorStr,"writing of viewport data");
strcpy(errorStr,"writing of viewport data");
i3 = 0;
readViewman(&i2,intSize);
while (i2) {
Expand Down Expand Up @@ -253,10 +253,10 @@ spadAction(void)
readViewman(&i2,intSize); /* slot to drop graph onto 0..8*/
readViewman(&viewGoAhead,intSize);
if (viewGoAhead < 0) {
sprintf(control->message,"%s%d","Couldn't put into graph ",i2+1);
sprintf(control->message,"Couldn't put into graph %d", i2+1);
writeControlMessage();
} else {
sprintf(control->message,"%s%d","Dropped onto graph ",i2+1);
sprintf(control->message,"Dropped onto graph %d", i2+1);
writeControlMessage();
freeGraph(i2);
graphArray[i2].key = i1;
Expand Down
2 changes: 1 addition & 1 deletion src/graph/view2D/viewport2D.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
Copyright (C) 1991-2002, The Numerical Algorithms Group Ltd.
All rights reserved.
Copyright (C) 2007-2023, Gabriel Dos Reis.
Copyright (C) 2007-2024, Gabriel Dos Reis.
All rights reserved.
Redistribution and use in source and binary forms, with or without
Expand Down
22 changes: 11 additions & 11 deletions src/graph/view2D/write2d.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
Copyright (C) 1991-2002, The Numerical Algorithms Group Ltd.
All rights reserved.
Copyright (C) 2007-2010, Gabriel Dos Reis.
Copyright (C) 2007-2024, Gabriel Dos Reis.
All rights reserved.
Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -62,16 +62,16 @@ writeViewport(int thingsToWrite)
XWindowAttributes vwInfo;

XGetWindowAttributes(dsply,viewport->titleWindow,&vwInfo);
sprintf(viewDirName,"%s%s",filename,".VIEW");
sprintf(command,"%s%s%s","rm -r ",viewDirName," > /dev/null 2>&1");
sprintf(viewDirName,"%s.VIEW",filename);
sprintf(command,"rm -r %s > /dev/null 2>&1", viewDirName);
system(command);
sprintf(command,"%s%s%s","mkdir ",viewDirName," > /dev/null 2>&1");
sprintf(command,"mkdir %s > /dev/null 2>&1", viewDirName);
if (system(command)) {
fprintf(stderr," Error: Cannot create %s\n",viewDirName);
return(-1);
} else {
/*** Create the data file ***/
sprintf(viewDataFilename,"%s%s",viewDirName,"/data");
sprintf(viewDataFilename,"%s/data",viewDirName);
if ((viewDataFile = fopen(viewDataFilename,"w")) == NULL) {
fprintf(stderr," Error: Cannot create %s\n",viewDataFilename);
perror("fopen");
Expand Down Expand Up @@ -101,7 +101,7 @@ writeViewport(int thingsToWrite)
fclose(viewDataFile);
for (i=0; i<maxGraphs; i++) {
if (graphArray[i].key) {
sprintf(viewDataFilename,"%s%s%d",viewDirName,"/graph",i);
sprintf(viewDataFilename,"%s/graph%d",viewDirName,i);
if ((viewDataFile = fopen(viewDataFilename,"w")) == NULL) {
fprintf(stderr," Error: Cannot create %s\n",viewDataFilename);
perror("fopen");
Expand Down Expand Up @@ -143,23 +143,23 @@ writeViewport(int thingsToWrite)
switch (ii) {
case Pixmap:
/*** Create the pixmap (bitmaps need leaf name) ***/
sprintf(viewBitmapFilename,"%s%s",viewDirName,"/image.xpm");
sprintf(viewBitmapFilename,"%s/image.xpm",viewDirName);
XGetWindowAttributes(dsply,viewport->viewWindow,&vwInfo);
write_pixmap_file(dsply,scrn,viewBitmapFilename,
viewport->titleWindow,0,0,vwInfo.width,
vwInfo.height+titleHeight);
break;
case Bitmap:
/*** Create the bitmap (bitmaps need leaf name) ***/
sprintf(viewBitmapFilename,"%s%s",viewDirName,"/image.bm");
sprintf(viewBitmapFilename,"%s/image.bm",viewDirName);
XGetWindowAttributes(dsply,viewport->viewWindow,&vwInfo);
XWriteBitmapFile(dsply,viewBitmapFilename,
viewport->titleWindow,vwInfo.width,
vwInfo.height+vwInfo.border_width+20,-1,-1);
break;
case Image:
/*** Create the pixmap (bitmaps need leaf name) ***/
sprintf(viewBitmapFilename,"%s%s",viewDirName,"/image.xpm");
sprintf(viewBitmapFilename,"%s/image.xpm",viewDirName);
XResizeWindow(dsply,viewport->titleWindow,300,300+titleHeight);
XResizeWindow(dsply,viewport->viewWindow,300,300);
XGetWindowAttributes(dsply,viewport->viewWindow,&vwInfo);
Expand All @@ -172,7 +172,7 @@ writeViewport(int thingsToWrite)
mono = 1;
drawViewport(Xoption);
writeTitle();
sprintf(viewBitmapFilename,"%s%s%s",viewDirName,"/","image.bm");
sprintf(viewBitmapFilename,"%s/image.bm",viewDirName);
XWriteBitmapFile(dsply,viewBitmapFilename,
viewport->titleWindow,vwInfo.width,
vwInfo.height+vwInfo.border_width+20,-1,-1);
Expand All @@ -181,7 +181,7 @@ writeViewport(int thingsToWrite)

case Postscript:
/*** Create postscript output for viewport (in axiom2D.ps) ***/
sprintf(PSfilename,"%s%s",viewDirName,"/axiom2D.ps");
sprintf(PSfilename,"%s/axiom2D.ps",viewDirName);
if (PSInit(viewport->viewWindow,viewport->titleWindow) == psError)
return (-1);
drawViewport(PSoption); /* write new script file in /tmp */
Expand Down
4 changes: 2 additions & 2 deletions src/graph/view3D/main3d.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
Copyright (C) 1991-2002, The Numerical Algorithms Group Ltd.
All rights reserved.
Copyright (C) 2007-2011, Gabriel Dos Reis.
Copyright (C) 2007-2024, Gabriel Dos Reis.
All rights reserved.
Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -579,7 +579,7 @@ main(void)
/** send acknowledgement to viewport manager**/
i = 345;

sprintf(errorStr,"sending window info to viewport manager");
strcpy(errorStr,"sending window info to viewport manager");
check(write(Socket,&(viewport->viewWindow),sizeof(Window)));

viewmap = XCreatePixmap(dsply,viewport->viewWindow,
Expand Down
Loading

0 comments on commit 1202b30

Please sign in to comment.