+2005-09-10 Giuseppe Scrivano <gscrivano@gmail.com>
+
+ Remove the MAXPATHLEN limitations:
+
+ * sysdep.c (get_current_dir_name) [!HAVE_CURRENT_DIR_NAME]: New
+ function.
+
+ * buffer.c (init_buffer): Use it.
+
+ * xsmfns.c (smc_save_yourself_CB): Ditto.
+
2005-09-09 Kim F. Storm <storm@cua.dk>
* doc.c (Fsubstitute_command_keys): Lookup key binding for
#include "termopts.h"
#include "xterm.h"
-#ifndef MAXPATHLEN
-#define MAXPATHLEN 1024
-#endif /* not MAXPATHLEN */
-
+extern char * get_current_dir_name ();
/* The user login name. */
int val_idx = 0;
int props_idx = 0;
- char cwd[MAXPATHLEN+1];
+ char *cwd = NULL;
char *smid_opt;
/* How to start a new instance of Emacs. */
props[props_idx]->vals[0].value = SDATA (Vuser_login_name);
++props_idx;
- /* The current directory property, not mandatory. */
-#ifdef HAVE_GETCWD
- if (getcwd (cwd, MAXPATHLEN+1) != 0)
-#else
- if (getwd (cwd) != 0)
-#endif
+ cwd = get_current_dir_name ();
+
+ if (cwd)
{
props[props_idx] = &prop_ptr[props_idx];
props[props_idx]->name = SmCurrentDirectory;
xfree (smid_opt);
+ if (cwd)
+ free (cwd);
+
/* See if we maybe shall interact with the user. */
if (interactStyle != SmInteractStyleAny
|| ! shutdown