openbsd-ports/graphics/wmphoto/patches/patch-wmphoto_wmphoto_c
naddy d07e33fec8 Import wmphoto 0.3a.
Submitted by Peter Stromberg <home@wilfried.net>.

It's a dock-app that can show you a photo and execute a command
related to that photo.  You can have many photos.
2001-01-16 22:44:42 +00:00

85 lines
2.8 KiB
Plaintext

$OpenBSD: patch-wmphoto_wmphoto_c,v 1.1.1.1 2001/01/16 22:44:43 naddy Exp $
--- wmphoto/wmphoto.c.orig Sun Oct 3 07:11:37 1999
+++ wmphoto/wmphoto.c Tue Jan 16 18:05:55 2001
@@ -34,7 +34,6 @@ char current[1024];
char home[1024];
-
int main(int argc, char **argv)
{
init_stuff(argc, argv);
@@ -49,7 +48,7 @@ int main(int argc, char **argv)
void init_stuff(int argc, char **argv)
{
/* get the user's home */
- sprintf(home,"%s/.wmphoto",getenv("HOME"));
+ snprintf(home,sizeof(home),"%s/.wmphoto",getenv("HOME"));
if (argc == 2)
{ show_usage(); }
@@ -194,7 +193,7 @@ void get_next_photo(char *current)
-int myselect(const struct dirent *d)
+int myselect(struct dirent *d)
{ char *name = d->d_name;
static int lenght;
static char *defExt = ".xpm.gz";
@@ -223,7 +222,7 @@ void load_photo(char *name)
mylenght = strlen(defExt);
- sprintf(current, "%s/%s", home, name);
+ snprintf(current, sizeof(current), "%s/%s", home, name);
lenght = strlen(current);
current[lenght - mylenght] = 0;
@@ -252,7 +251,7 @@ void load_photo(char *name)
status = XpmReadFileToPixmap(display, wmgen.pixmap, current, &mypixmap,
0, &xpmAttributes);
- strcpy(current, name);
+ strlcpy(current, name, sizeof(current));
if (status != XpmSuccess)
{ fprintf(stderr, "wmphoto (XpmError): %s\n",
XpmGetErrorString(status));
@@ -298,7 +297,8 @@ void add_photo(char *filename)
}
printf("good.\n\n");
}
- closedir(mydir);
+ else
+ closedir(mydir);
@@ -315,7 +315,7 @@ void add_photo(char *filename)
printf("Command to run for button2? (ex: xterm -e talk amartoq@cec.uchile.cl)\n");
fgets(command2, 1024, stdin);
- sprintf(current, "%s/%s", home, profile);
+ snprintf(current, sizeof(current), "%s/%s", home, profile);
printf("Creating %s... ", current);
myfile = fopen(current, "w");
@@ -329,7 +329,7 @@ void add_photo(char *filename)
fclose(myfile);
printf("good.\nExecuting convert, this may take a while...\n");
- sprintf(current, "convert -colors 255 -dither -geometry 48x52! %s xpm:%s/%s.xpm.gz", filename, home, profile);
+ snprintf(current, sizeof(current), "convert -colors 255 -dither -geometry 48x52! %s xpm:%s/%s.xpm.gz", filename, home, profile);
printf("%s ", current);
fflush(stdout);
@@ -345,7 +345,7 @@ void show_usage()
{
printf("[wmphoto %s] Copyright(C) 1999, by Aldrin Martoq A. (amartoq@cec.uchile.cl)\n", WMPHOTO_VERSION);
- printf("ussage:\nwmphoto\n\t Starts the wmphoto as dock app.\n\nwmphoto add <an_image_file>\n\t Add the photo <an_image_file> to your ~/.wmphoto directory interactivaly\n\t(Imagemagick's `convert` program needed).\n\n");
+ printf("usage:\nwmphoto\n\t Starts the wmphoto as dock app.\n\nwmphoto add <an_image_file>\n\t Add the photo <an_image_file> to your ~/.wmphoto directory interactivaly\n\t(Imagemagick's `convert` program needed).\n\n");
exit(0);
}