[PD-cvs] externals/zexy/src msgfile.c,1.2,1.3
IOhannes m zmölnig
zmoelnig at users.sourceforge.net
Wed Jun 8 19:07:23 CEST 2005
Update of /cvsroot/pure-data/externals/zexy/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20418
Modified Files:
msgfile.c
Log Message:
hopefully fixed a bug with not finding relative filenames (when "." was not in the path)
Index: msgfile.c
===================================================================
RCS file: /cvsroot/pure-data/externals/zexy/src/msgfile.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** msgfile.c 19 May 2005 09:42:55 -0000 1.2
--- msgfile.c 8 Jun 2005 17:07:21 -0000 1.3
***************
*** 516,521 ****
int fd;
long readlength, length;
! char filnam[MAXPDSTRING];
char buf[MAXPDSTRING], *bufptr, *readbuf;
int mode = x->mode;
--- 516,522 ----
int fd;
long readlength, length;
! char filnam[MAXPDSTRING], namebuf[MAXPDSTRING];
char buf[MAXPDSTRING], *bufptr, *readbuf;
+ char*dirname=canvas_getdir(x->x_canvas)->s_name;
int mode = x->mode;
***************
*** 524,540 ****
t_binbuf *bbuf = binbuf_new();
! if ((fd = open_via_path(canvas_getdir(x->x_canvas)->s_name,
filename->s_name, "", buf, &bufptr, MAXPDSTRING, 0)) < 0) {
! error("%s: can't open", filename->s_name);
! return;
! }
! else
close (fd);
! if (!strcmp(format->s_name, "cr")) {
mode = CR_MODE;
! } else if (!strcmp(format->s_name, "csv")) {
mode = CSV_MODE;
! } else if (!strcmp(format->s_name, "pd")) {
mode = PD_MODE;
} else if (*format->s_name)
--- 525,562 ----
t_binbuf *bbuf = binbuf_new();
!
! #ifdef NT
! rmode |= O_BINARY;
! #endif
!
! if ((fd = open_via_path(dirname,
filename->s_name, "", buf, &bufptr, MAXPDSTRING, 0)) < 0) {
!
! if(fd=open(filename->s_name, rmode) < 0) {
! error("%s: can't open in %s", filename->s_name, dirname);
! return;
! }
! } else {
close (fd);
! namebuf[0] = 0;
! if (*buf)
! strcat(namebuf, buf), strcat(namebuf, "/");
! strcat(namebuf, bufptr);
!
! /* open and get length */
! sys_bashfilename(namebuf, filnam);
!
! if ((fd = open(filnam, rmode)) < 0) {
! error("msgfile_read: unable to open %s", filnam);
! return;
! }
! }
!
! if (gensym("cr")==format) {
mode = CR_MODE;
! } else if (gensym("csv")==format) {
mode = CSV_MODE;
! } else if (gensym("pd")==format) {
mode = PD_MODE;
} else if (*format->s_name)
***************
*** 556,570 ****
}
- /* open and get length */
- sys_bashfilename(filename->s_name, filnam);
-
- #ifdef NT
- rmode |= O_BINARY;
- #endif
-
- if ((fd = open(filnam, rmode)) < 0) {
- error("msgfile_read: unable to open %s", filnam);
- return;
- }
if ((length = lseek(fd, 0, SEEK_END)) < 0 || lseek(fd, 0,SEEK_SET) < 0
|| !(readbuf = t_getbytes(length))) {
--- 578,581 ----
More information about the Pd-cvs
mailing list