[PD-cvs] pd/src d_soundfile.c, 1.4.4.11.2.10.2.15, 1.4.4.11.2.10.2.16 kernel.c, 1.1.2.63, 1.1.2.64 s_loader.c, 1.4.4.5.2.10.2.6, 1.4.4.5.2.10.2.7
Mathieu Bouchard
matju at users.sourceforge.net
Thu Jul 19 03:30:18 CEST 2007
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20325
Modified Files:
Tag: desiredata
d_soundfile.c kernel.c s_loader.c
Log Message:
removed some MAXPDSTRING by using canvas_open2
Index: s_loader.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_loader.c,v
retrieving revision 1.4.4.5.2.10.2.6
retrieving revision 1.4.4.5.2.10.2.7
diff -C2 -d -r1.4.4.5.2.10.2.6 -r1.4.4.5.2.10.2.7
*** s_loader.c 18 Jul 2007 20:52:38 -0000 1.4.4.5.2.10.2.6
--- s_loader.c 19 Jul 2007 01:30:16 -0000 1.4.4.5.2.10.2.7
***************
*** 104,114 ****
static int sys_do_load_lib(t_canvas *canvas, char *objectname) {
! char filename[MAXPDSTRING], dirbuf[MAXPDSTRING], *classname, *nameptr;
! void *dlobj;
t_xxx makeout = NULL;
int fd;
- #ifdef MSW
- HINSTANCE ntdll;
- #endif
if ((classname = strrchr(objectname, '/'))) classname++;
else classname = objectname;
--- 104,110 ----
static int sys_do_load_lib(t_canvas *canvas, char *objectname) {
! char filename[MAXPDSTRING], *dirbuf, *classname, *nameptr;
t_xxx makeout = NULL;
int fd;
if ((classname = strrchr(objectname, '/'))) classname++;
else classname = objectname;
***************
*** 119,125 ****
char *symname = make_setup_name(classname);
/* try looking in the path for (objectname).(sys_dllextent) ... */
! if ((fd = canvas_open(canvas, objectname, sys_dllextent , dirbuf, &nameptr, MAXPDSTRING, 1)) >= 0) goto gotone;
/* same, with the more generic sys_dllextent2 */
! if ((fd = canvas_open(canvas, objectname, sys_dllextent2, dirbuf, &nameptr, MAXPDSTRING, 1)) >= 0) goto gotone;
/* next try (objectname)/(classname).(sys_dllextent) ... */
strncpy(filename, objectname, MAXPDSTRING);
--- 115,121 ----
char *symname = make_setup_name(classname);
/* try looking in the path for (objectname).(sys_dllextent) ... */
! if ((fd = canvas_open2(canvas, objectname, sys_dllextent , &dirbuf, &nameptr, 1)) >= 0) goto gotone;
/* same, with the more generic sys_dllextent2 */
! if ((fd = canvas_open2(canvas, objectname, sys_dllextent2, &dirbuf, &nameptr, 1)) >= 0) goto gotone;
/* next try (objectname)/(classname).(sys_dllextent) ... */
strncpy(filename, objectname, MAXPDSTRING);
***************
*** 128,133 ****
strncat(filename, classname, MAXPDSTRING-strlen(filename));
filename[MAXPDSTRING-1] = 0;
! if ((fd = canvas_open(canvas, filename, sys_dllextent , dirbuf, &nameptr, MAXPDSTRING, 1)) >= 0) goto gotone;
! if ((fd = canvas_open(canvas, filename, sys_dllextent2, dirbuf, &nameptr, MAXPDSTRING, 1)) >= 0) goto gotone;
return 0;
gotone:
--- 124,129 ----
strncat(filename, classname, MAXPDSTRING-strlen(filename));
filename[MAXPDSTRING-1] = 0;
! if ((fd = canvas_open2(canvas, filename, sys_dllextent , &dirbuf, &nameptr, 1)) >= 0) goto gotone;
! if ((fd = canvas_open2(canvas, filename, sys_dllextent2, &dirbuf, &nameptr, 1)) >= 0) goto gotone;
return 0;
gotone:
***************
*** 141,149 ****
filename[MAXPDSTRING-1] = 0;
#ifdef DL_OPEN
! dlobj = dlopen(filename, RTLD_NOW | RTLD_GLOBAL);
if (!dlobj) {
post("%s: %s", filename, dlerror());
class_set_extern_dir(&s_);
! free(symname);
return 0;
}
--- 137,145 ----
filename[MAXPDSTRING-1] = 0;
#ifdef DL_OPEN
! void *dlobj = dlopen(filename, RTLD_NOW | RTLD_GLOBAL);
if (!dlobj) {
post("%s: %s", filename, dlerror());
class_set_extern_dir(&s_);
! free(symname); free(dirbuf);
return 0;
}
***************
*** 152,160 ****
#ifdef MSW
sys_bashfilename(filename, filename);
! ntdll = LoadLibrary(filename);
if (!ntdll) {
post("%s: couldn't load", filename);
class_set_extern_dir(&s_);
! free(symname);
return 0;
}
--- 148,156 ----
#ifdef MSW
sys_bashfilename(filename, filename);
! HINSTANCE ntdll = LoadLibrary(filename);
if (!ntdll) {
post("%s: couldn't load", filename);
class_set_extern_dir(&s_);
! free(symname); free(dirbuf);
return 0;
}
***************
*** 164,168 ****
post("%s: can't find symbol '%s' in library", filename, symname);
class_set_extern_dir(&s_);
! free(symname);
return 0;
}
--- 160,164 ----
post("%s: can't find symbol '%s' in library", filename, symname);
class_set_extern_dir(&s_);
! free(symname); free(dirbuf);
return 0;
}
Index: kernel.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/kernel.c,v
retrieving revision 1.1.2.63
retrieving revision 1.1.2.64
diff -C2 -d -r1.1.2.63 -r1.1.2.64
*** kernel.c 18 Jul 2007 20:23:15 -0000 1.1.2.63
--- kernel.c 19 Jul 2007 01:30:16 -0000 1.1.2.64
***************
*** 1307,1311 ****
void new_anything(void *dummy, t_symbol *s, int argc, t_atom *argv) {
int fd;
! char dirbuf[MAXPDSTRING], *nameptr;
if (tryingalready) return;
newest = 0;
--- 1307,1311 ----
void new_anything(void *dummy, t_symbol *s, int argc, t_atom *argv) {
int fd;
! char *dirbuf, *nameptr;
if (tryingalready) return;
newest = 0;
***************
*** 1319,1324 ****
class_loadsym = 0;
t_pd *current = s__X.thing;
! if ((fd = canvas_open(canvas_getcurrent(), s->name, ".pd", dirbuf, &nameptr, MAXPDSTRING, 0)) >= 0 ||
! (fd = canvas_open(canvas_getcurrent(), s->name, ".pat", dirbuf, &nameptr, MAXPDSTRING, 0)) >= 0) {
close(fd);
if (!pd_setloadingabstraction(s)) {
--- 1319,1324 ----
class_loadsym = 0;
t_pd *current = s__X.thing;
! if ((fd = canvas_open2(canvas_getcurrent(), s->name, ".pd", &dirbuf, &nameptr, 0)) >= 0 ||
! (fd = canvas_open2(canvas_getcurrent(), s->name, ".pat", &dirbuf, &nameptr, 0)) >= 0) {
close(fd);
if (!pd_setloadingabstraction(s)) {
***************
*** 1327,1334 ****
if (s__X.thing != current) canvas_popabstraction((t_canvas *)s__X.thing);
canvas_setargs(0, 0);
! }
! else error("%s: can't load abstraction within itself\n", s->name);
! }
! else newest = 0;
}
--- 1327,1333 ----
if (s__X.thing != current) canvas_popabstraction((t_canvas *)s__X.thing);
canvas_setargs(0, 0);
! } else error("%s: can't load abstraction within itself\n", s->name);
! free(dirbuf);
! } else newest = 0;
}
***************
*** 2126,2133 ****
/* read a binbuf from a file, via the search patch of a canvas */
int binbuf_read_via_canvas(t_binbuf *b, char *filename, t_canvas *canvas, int flags) {
! char buf[MAXPDSTRING], *bufptr;
! int filedesc = canvas_open(canvas, filename, "", buf, &bufptr, MAXPDSTRING, 0);
if (filedesc<0) {error("%s: can't open", filename); return 1;}
close(filedesc);
return !!binbuf_read(b, bufptr, buf, flags);
}
--- 2125,2133 ----
/* read a binbuf from a file, via the search patch of a canvas */
int binbuf_read_via_canvas(t_binbuf *b, char *filename, t_canvas *canvas, int flags) {
! char *buf, *bufptr;
! int filedesc = canvas_open2(canvas, filename, "", &buf, &bufptr, 0);
if (filedesc<0) {error("%s: can't open", filename); return 1;}
close(filedesc);
+ free(buf);
return !!binbuf_read(b, bufptr, buf, flags);
}
Index: d_soundfile.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/d_soundfile.c,v
retrieving revision 1.4.4.11.2.10.2.15
retrieving revision 1.4.4.11.2.10.2.16
diff -C2 -d -r1.4.4.11.2.10.2.15 -r1.4.4.11.2.10.2.16
*** d_soundfile.c 18 Jul 2007 21:46:35 -0000 1.4.4.11.2.10.2.15
--- d_soundfile.c 19 Jul 2007 01:30:16 -0000 1.4.4.11.2.10.2.16
***************
*** 323,329 ****
int open_soundfile_via_canvas(t_canvas *canvas, const char *filename, int headersize,
int *p_bytespersamp, int *p_bigendian, int *p_nchannels, long *p_bytelimit, long skipframes) {
! char buf[OBUFSIZE], *bufptr;
! int fd = canvas_open(canvas, filename, "", buf, &bufptr, MAXPDSTRING, 1);
if (fd < 0) return -1;
return open_soundfile_via_fd(fd, headersize, p_bytespersamp, p_bigendian, p_nchannels, p_bytelimit, skipframes);
}
--- 323,330 ----
int open_soundfile_via_canvas(t_canvas *canvas, const char *filename, int headersize,
int *p_bytespersamp, int *p_bigendian, int *p_nchannels, long *p_bytelimit, long skipframes) {
! char *buf, *bufptr;
! int fd = canvas_open2(canvas, filename, "", &buf, &bufptr, 1);
if (fd < 0) return -1;
+ free(buf);
return open_soundfile_via_fd(fd, headersize, p_bytespersamp, p_bigendian, p_nchannels, p_bytelimit, skipframes);
}
***************
*** 342,366 ****
if (bytespersamp == 2) {
if (bigendian) {
! for (j = 0; j < nitems; j++, sp2 += bytesperframe, fp++)
! *fp = SCALE * ((sp2[0] << 24) | (sp2[1] << 16));
} else {
! for (j = 0; j < nitems; j++, sp2 += bytesperframe, fp++)
! *fp = SCALE * ((sp2[1] << 24) | (sp2[0] << 16));
}
} else if (bytespersamp == 3) {
if (bigendian) {
! for (j = 0; j < nitems; j++, sp2 += bytesperframe, fp++)
! *fp = SCALE * ((sp2[0] << 24) | (sp2[1] << 16) | (sp2[2] << 8));
} else {
! for (j = 0; j < nitems; j++, sp2 += bytesperframe, fp++)
! *fp = SCALE * ((sp2[2] << 24) | (sp2[1] << 16) | (sp2[0] << 8));
}
} else if (bytespersamp == 4) {
if (bigendian) {
! for (j = 0; j < nitems; j++, sp2 += bytesperframe, fp++)
! *(long *)fp = ((sp2[0] << 24) | (sp2[1] << 16) | (sp2[2] << 8) | sp2[3]);
} else {
! for (j = 0; j < nitems; j++, sp2 += bytesperframe, fp++)
! *(long *)fp = ((sp2[3] << 24) | (sp2[2] << 16) | (sp2[1] << 8) | sp2[0]);
}
}
--- 343,361 ----
if (bytespersamp == 2) {
if (bigendian) {
! for (j=0; j<nitems; j++, sp2 += bytesperframe, fp++) *fp = SCALE * ((sp2[0]<<24) | (sp2[1]<<16));
} else {
! for (j=0; j<nitems; j++, sp2 += bytesperframe, fp++) *fp = SCALE * ((sp2[1]<<24) | (sp2[0]<<16));
}
} else if (bytespersamp == 3) {
if (bigendian) {
! for (j=0; j<nitems; j++, sp2 += bytesperframe, fp++) *fp = SCALE * ((sp2[0]<<24) | (sp2[1]<<16) | (sp2[2]<<8));
} else {
! for (j=0; j<nitems; j++, sp2 += bytesperframe, fp++) *fp = SCALE * ((sp2[2]<<24) | (sp2[1]<<16) | (sp2[0]<<8));
}
} else if (bytespersamp == 4) {
if (bigendian) {
! for (j=0; j<nitems; j++, sp2 += bytesperframe, fp++) *(long *)fp = (sp2[0]<<24) | (sp2[1]<<16) | (sp2[2]<<8) | sp2[3];
} else {
! for (j=0; j<nitems; j++, sp2 += bytesperframe, fp++) *(long *)fp = (sp2[3]<<24) | (sp2[2]<<16) | (sp2[1]<<8) | sp2[0];
}
}
***************
*** 424,431 ****
if (filetype < 0) {
const char *s = filesym->name + strlen(filesym->name);
! if (strlen(filesym->name) >= 5 && !strcmp(s-4, ".aif") || !strcmp(s-4, ".AIF")) filetype = FORMAT_AIFF;
! if (strlen(filesym->name) >= 6 && !strcmp(s-5, ".aiff") || !strcmp(s-5, ".AIFF")) filetype = FORMAT_AIFF;
! if (strlen(filesym->name) >= 5 && !strcmp(s-4, ".snd") || !strcmp(s-4, ".SND")) filetype = FORMAT_NEXT;
! if (strlen(filesym->name) >= 4 && !strcmp(s-3, ".au") || !strcmp(s-3, ".AU")) filetype = FORMAT_NEXT;
if (filetype < 0) filetype = FORMAT_WAVE;
}
--- 419,426 ----
if (filetype < 0) {
const char *s = filesym->name + strlen(filesym->name);
! if (strlen(filesym->name) >= 5 && !strcasecmp(s-4, ".aif" )) filetype = FORMAT_AIFF;
! if (strlen(filesym->name) >= 6 && !strcasecmp(s-5, ".aiff")) filetype = FORMAT_AIFF;
! if (strlen(filesym->name) >= 5 && !strcasecmp(s-4, ".snd" )) filetype = FORMAT_NEXT;
! if (strlen(filesym->name) >= 4 && !strcasecmp(s-3, ".au" )) filetype = FORMAT_NEXT;
if (filetype < 0) filetype = FORMAT_WAVE;
}
More information about the Pd-cvs
mailing list