--- allegro-4.2.0/src/digmid.c.digmid 2004-09-03 11:30:22.000000000 +0200
+++ allegro-4.2.0/src/digmid.c 2006-02-01 16:35:03.000000000 +0100
@@ -519,7 +519,7 @@
{
PACKFILE *f;
char dir[1024], file[1024], buf[1024], filename[1024];
- char todo[256][32];
+ char todo[256][1024];
char *argv[16], *p;
char tmp[128];
int argc;
@@ -679,8 +679,11 @@
/* read from regular disk files */
for (i=0; i<256; i++) {
if (ugetc(todo[i])) {
- ustrzcpy(filename, sizeof(filename), dir);
- ustrzcat(filename, sizeof(filename), todo[i]);
+ if (is_relative_filename(todo[i])) {
+ ustrzcpy(filename, sizeof(filename), dir);
+ ustrzcat(filename, sizeof(filename), todo[i]);
+ } else
+ ustrzcpy(filename, sizeof(filename), todo[i]);
if (ugetc(get_extension(filename)) == 0)
ustrzcat(filename, sizeof(filename), uconvert_ascii(".pat", tmp));