[PD-cvs] pd/src s_main.c,1.7.4.17.2.22.2.26,1.7.4.17.2.22.2.27

Mathieu Bouchard matju at users.sourceforge.net
Fri Jul 20 07:40:52 CEST 2007


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16203

Modified Files:
      Tag: desiredata
	s_main.c 
Log Message:
removed some MAXPDSTRING


Index: s_main.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_main.c,v
retrieving revision 1.7.4.17.2.22.2.26
retrieving revision 1.7.4.17.2.22.2.27
diff -C2 -d -r1.7.4.17.2.22.2.26 -r1.7.4.17.2.22.2.27
*** s_main.c	20 Jul 2007 04:22:47 -0000	1.7.4.17.2.22.2.26
--- s_main.c	20 Jul 2007 05:40:50 -0000	1.7.4.17.2.22.2.27
***************
*** 310,315 ****
     by consulting the variable INSTALL_PREFIX.  In MSW, we don't try to use INSTALL_PREFIX. */
  void sys_findprogdir(char *progname) {
-     char sbuf[MAXPDSTRING];
-     char sbuf2[MAXPDSTRING];
      char *lastslash;
  #ifdef UNISTD
--- 310,313 ----
***************
*** 317,330 ****
  #endif
      /* find out by what string Pd was invoked; put answer in "sbuf". */
  #ifdef MSW
!     GetModuleFileName(NULL, sbuf, sizeof(sbuf2));
!     sbuf[MAXPDSTRING-1] = 0;
      sys_unbashfilename(sbuf,sbuf);
  #endif /* MSW */
  #ifdef UNISTD
!     strncpy(sbuf, progname, MAXPDSTRING);
!     sbuf[MAXPDSTRING-1] = 0;
  #endif
      lastslash = strrchr(sbuf, '/');
      if (lastslash) {
          /* bash last slash to zero so that sbuf is directory pd was in, e.g., ~/pd/bin */
--- 315,331 ----
  #endif
      /* find out by what string Pd was invoked; put answer in "sbuf". */
+     char *sbuf;
  #ifdef MSW
!     int len = GetModuleFileName(NULL, sbuf, 0);
!     sbuf = malloc(len+1);
!     GetModuleFileName(NULL, sbuf, len);
!     sbuf[len] = 0;
      sys_unbashfilename(sbuf,sbuf);
  #endif /* MSW */
  #ifdef UNISTD
!     sbuf = strdup(progname);
  #endif
      lastslash = strrchr(sbuf, '/');
+     char *sbuf2;
      if (lastslash) {
          /* bash last slash to zero so that sbuf is directory pd was in, e.g., ~/pd/bin */
***************
*** 333,339 ****
          lastslash = strrchr(sbuf, '/');
          if (lastslash) {
!             strncpy(sbuf2, sbuf, lastslash-sbuf);
!             sbuf2[lastslash-sbuf] = 0;
!         } else strcpy(sbuf2, "..");
      } else { /* no slashes found.  Try INSTALL_PREFIX. */
          strcpy(sbuf2, INSTALL_PREFIX);
--- 334,339 ----
          lastslash = strrchr(sbuf, '/');
          if (lastslash) {
!             asprintf(&sbuf2, "%.*s", lastslash-sbuf, sbuf);
!         } else sbuf2 = strdup("..");
      } else { /* no slashes found.  Try INSTALL_PREFIX. */
          strcpy(sbuf2, INSTALL_PREFIX);
***************
*** 344,347 ****
--- 344,348 ----
      sys_libdir = stat(sbuf, &statbuf)>=0 ? symprintf("%s/lib/pd",sbuf2) : gensym(sbuf2);
  #endif
+     free(sbuf);
  }
  





More information about the Pd-cvs mailing list