summaryrefslogtreecommitdiffstats
path: root/ubuntu/maverick_automake/dependencies/arts/debian/patches/11_path_max_hurd.diff
diff options
context:
space:
mode:
Diffstat (limited to 'ubuntu/maverick_automake/dependencies/arts/debian/patches/11_path_max_hurd.diff')
-rw-r--r--ubuntu/maverick_automake/dependencies/arts/debian/patches/11_path_max_hurd.diff372
1 files changed, 0 insertions, 372 deletions
diff --git a/ubuntu/maverick_automake/dependencies/arts/debian/patches/11_path_max_hurd.diff b/ubuntu/maverick_automake/dependencies/arts/debian/patches/11_path_max_hurd.diff
deleted file mode 100644
index b35d4a2e0..000000000
--- a/ubuntu/maverick_automake/dependencies/arts/debian/patches/11_path_max_hurd.diff
+++ /dev/null
@@ -1,372 +0,0 @@
---- a/soundserver/artsplay.cc
-+++ b/soundserver/artsplay.cc
-@@ -42,13 +42,19 @@
- {
- if(path[0] == '/') return path;
-
-- char buffer[PATH_MAX];
-- getcwd(buffer,PATH_MAX);
-+ int size = 4096;
-
-- if(buffer[strlen(buffer)-1] == '/')
-- return buffer + path;
-- else
-- return string(buffer) + '/' + path;
-+ while (1) {
-+ char buffer[size];
-+ if (getcwd(buffer,size))
-+ {
-+ if(buffer[strlen(buffer)-1] == '/')
-+ return buffer + path;
-+ else
-+ return string(buffer) + '/' + path;
-+ }
-+ size *= 2;
-+ }
- }
-
- int main(int argc, char **argv)
---- a/mcop/mcoputils.cc
-+++ b/mcop/mcoputils.cc
-@@ -71,8 +71,8 @@
- static char *locate_mcop_dir()
- {
- struct passwd *pw_ent;
-- char kde_tmp_dir[PATH_MAX+1];
-- char user_tmp_dir[PATH_MAX+1];
-+ string kde_tmp_dir;
-+ string user_tmp_dir;
- int uid = getuid();
- const char *home_dir = getenv("HOME");
- const char *kde_home = uid ? getenv("TDEHOME") : getenv("KDEROOTHOME");
-@@ -88,7 +88,7 @@
- if (!tmp || !tmp[0])
- tmp = "/tmp";
-
-- kde_tmp_dir[0] = 0;
-+ kde_tmp_dir = "";
-
- pw_ent = getpwuid(uid);
- if (!pw_ent)
-@@ -97,12 +97,7 @@
- return 0;
- }
-
-- strncpy(user_tmp_dir, tmp, PATH_MAX );
-- user_tmp_dir[ PATH_MAX ] = '\0';
-- strncat(user_tmp_dir, "/tdesocket-", PATH_MAX - strlen(user_tmp_dir) );
-- user_tmp_dir[ PATH_MAX ] = '\0';
-- strncat(user_tmp_dir, pw_ent->pw_name, PATH_MAX - strlen(user_tmp_dir));
-- user_tmp_dir[ PATH_MAX ] = '\0';
-+ user_tmp_dir = string(tmp) + "/tdesocket-" + string(pw_ent->pw_name);
-
- if (!kde_home || !kde_home[0])
- {
-@@ -119,44 +114,37 @@
- {
- arts_fatal("Aborting. $HOME not set!");
- }
-- if (strlen(home_dir) > (PATH_MAX-100))
-- {
-- arts_fatal("Aborting. Home directory path too long!");
-- }
- kde_home++;
-- strncpy(kde_tmp_dir, home_dir, PATH_MAX);
-- kde_tmp_dir[ PATH_MAX ] = '\0';
-+ kde_tmp_dir = string(home_dir);
- }
-- strncat(kde_tmp_dir, kde_home, PATH_MAX - strlen(kde_tmp_dir));
-+ kde_tmp_dir += kde_home;
-
- /** Strip trailing '/' **/
-- if ( kde_tmp_dir[strlen(kde_tmp_dir)-1] == '/')
-- kde_tmp_dir[strlen(kde_tmp_dir)-1] = 0;
-+ if ( kde_tmp_dir[kde_tmp_dir.length()-1] == '/')
-+ kde_tmp_dir.resize(kde_tmp_dir.length()-1);
-
-- result = stat(kde_tmp_dir, &stat_buf);
-+ result = stat(kde_tmp_dir.c_str(), &stat_buf);
- if (result == -1)
- {
- return 0;
- }
-
-- strncat(kde_tmp_dir, kde_prefix, PATH_MAX - strlen(kde_tmp_dir));
-- if (gethostname(kde_tmp_dir+strlen(kde_tmp_dir), PATH_MAX - strlen(kde_tmp_dir) - 1) != 0)
-+ kde_tmp_dir += kde_prefix;
- {
-- arts_fatal("Aborting. Could not determine hostname or hostname too long.");
-+ char buf[1024];
-+ if (gethostname(buf, sizeof(buf)-1) != 0)
-+ {
-+ arts_fatal("Aborting. Could not determine hostname or hostname too long.");
-+ }
-+ buf[sizeof(buf)-1] = '\0';
-+ kde_tmp_dir += buf;
- }
-- kde_tmp_dir[sizeof(kde_tmp_dir)-1] = '\0';
-
-- result = lstat(kde_tmp_dir, &stat_buf);
-+ result = lstat(kde_tmp_dir.c_str(), &stat_buf);
- if ((result == 0) && (S_ISDIR(stat_buf.st_mode)))
- {
- /* $TDEHOME/socket-$HOSTNAME is a normal directory. Do nothing. */
-- tmp_buf = (char *) malloc(PATH_MAX+1);
-- if (!tmp_buf)
-- return 0;
--
-- strncpy(tmp_buf, kde_tmp_dir, PATH_MAX);
-- tmp_buf[ PATH_MAX ] = '\0';
--
-+ tmp_buf = strdup(kde_tmp_dir.c_str());
- return tmp_buf;
- }
-
-@@ -167,26 +155,32 @@
- }
- if ((result == -1) || (!S_ISLNK(stat_buf.st_mode)))
- {
-- arts_warning("Error: \"%s\" is not a link or a directory.\n", kde_tmp_dir);
-+ arts_warning("Error: \"%s\" is not a link or a directory.\n", kde_tmp_dir.c_str());
- return 0;
- }
-- tmp_buf = (char *) malloc(PATH_MAX+1);
-- if (!tmp_buf)
-- return 0;
-
- /* kde_tmp_dir is a link. Check whether it points to a valid directory. */
-- result = readlink(kde_tmp_dir, tmp_buf, PATH_MAX);
-- if (result == -1)
-- {
-- arts_warning("Error: \"%s\" could not be read.\n", kde_tmp_dir);
-- free(tmp_buf);
-- return 0;
-- }
-+ ssize_t size = 2048;
-+ tmp_buf = NULL;
-+ do {
-+ size *= 2;
-+ tmp_buf = (char *) realloc(tmp_buf, size);
-+ if (!tmp_buf)
-+ return 0;
-+ result = readlink(kde_tmp_dir.c_str(), tmp_buf, size - 1);
-+ if (result == -1)
-+ {
-+ arts_warning("Error: \"%s\" could not be read.\n", kde_tmp_dir.c_str());
-+ free(tmp_buf);
-+ return 0;
-+ }
-+ } while(result == size - 1);
- tmp_buf[result] = '\0';
-+
- // printf("Link points to \"%s\"\n", tmp_buf);
-- if (strncmp(tmp_buf, user_tmp_dir, strlen(user_tmp_dir)) != 0)
-+ if (strncmp(tmp_buf, user_tmp_dir.c_str(), user_tmp_dir.length()) != 0)
- {
-- arts_warning("Error: \"%s\" points to \"%s\" instead of \"%s\".\n", kde_tmp_dir, tmp_buf, user_tmp_dir);
-+ arts_warning("Error: \"%s\" points to \"%s\" instead of \"%s\".\n", kde_tmp_dir.c_str(), tmp_buf, user_tmp_dir.c_str());
- free(tmp_buf);
- return 0;
- }
-@@ -221,19 +215,19 @@
-
-
- static
--int build_link(const char *tmp_prefix, const char *kde_prefix)
-+int build_link(string tmp_prefix, const char *kde_prefix)
- {
- struct passwd *pw_ent;
-- char kde_tmp_dir[PATH_MAX+1];
-- char user_tmp_dir[PATH_MAX+1];
-- char tmp_buf[PATH_MAX+1];
-+ string kde_tmp_dir;
-+ string user_tmp_dir;
-+ char *tmp_buf;
- int uid = getuid();
- const char *home_dir = getenv("HOME");
- const char *kde_home = uid ? getenv("TDEHOME") : getenv("KDEROOTHOME");
- int result;
- struct stat stat_buf;
-
-- kde_tmp_dir[0] = 0;
-+ kde_tmp_dir = "";
-
- pw_ent = getpwuid(uid);
- if (!pw_ent)
-@@ -242,9 +236,7 @@
- return 1;
- }
-
-- strncpy(user_tmp_dir, tmp_prefix, PATH_MAX);
-- user_tmp_dir[ PATH_MAX ] = '\0';
-- strncat(user_tmp_dir, pw_ent->pw_name, PATH_MAX - strlen(tmp_prefix));
-+ user_tmp_dir = tmp_prefix + string(pw_ent->pw_name);
-
- if (!kde_home || !kde_home[0])
- {
-@@ -262,89 +254,106 @@
- fprintf(stderr, "Aborting. $HOME not set!");
- exit(255);
- }
-- if (strlen(home_dir) > (PATH_MAX-100))
-- {
-- fprintf(stderr, "Aborting. Home directory path too long!");
-- exit(255);
-- }
- kde_home++;
-- strncpy(kde_tmp_dir, home_dir, PATH_MAX);
-- kde_tmp_dir[ PATH_MAX ] = '\0';
-+ kde_tmp_dir = string(home_dir);
- }
-- strncat(kde_tmp_dir, kde_home, PATH_MAX - strlen(kde_tmp_dir));
-+ kde_tmp_dir += kde_home;
-
- /** Strip trailing '/' **/
-- if ( kde_tmp_dir[strlen(kde_tmp_dir)-1] == '/')
-- kde_tmp_dir[strlen(kde_tmp_dir)-1] = 0;
-+ if ( kde_tmp_dir[kde_tmp_dir.length()-1] == '/')
-+ kde_tmp_dir.resize(kde_tmp_dir.length()-1);
-
-- result = stat(kde_tmp_dir, &stat_buf);
-+ result = stat(kde_tmp_dir.c_str(), &stat_buf);
- if ((result == -1) && (errno == ENOENT))
- {
-- result = mkdir(kde_tmp_dir, 0700);
-+ result = mkdir(kde_tmp_dir.c_str(), 0700);
- }
- if (result == -1)
- {
- return 1;
- }
-
-- strncat(kde_tmp_dir, kde_prefix, PATH_MAX - strlen(kde_tmp_dir));
-- if (gethostname(kde_tmp_dir+strlen(kde_tmp_dir), PATH_MAX - strlen(kde_tmp_dir) - 1) != 0)
-+ kde_tmp_dir += kde_prefix;
- {
-- perror("Aborting. Could not determine hostname: ");
-- exit(255);
-+ char buf[1024];
-+ if (gethostname(buf, sizeof(buf)-1) != 0)
-+ {
-+ arts_fatal("Aborting. Could not determine hostname or hostname too long.");
-+ }
-+ buf[sizeof(buf)-1] = '\0';
-+ kde_tmp_dir += buf;
- }
-- kde_tmp_dir[sizeof(kde_tmp_dir)-1] = '\0';
-
-- result = lstat(kde_tmp_dir, &stat_buf);
-+ result = lstat(kde_tmp_dir.c_str(), &stat_buf);
- if ((result == 0) && (S_ISDIR(stat_buf.st_mode)))
- {
- /* $TDEHOME/tmp is a normal directory. Do nothing. */
-- printf("Directory \"%s\" already exists.\n", kde_tmp_dir);
-+ printf("Directory \"%s\" already exists.\n", kde_tmp_dir.c_str());
- return 0;
- }
- if ((result == -1) && (errno == ENOENT))
- {
-- printf("Creating link %s.\n", kde_tmp_dir);
-- result = create_link(kde_tmp_dir, user_tmp_dir);
-+ printf("Creating link %s.\n", kde_tmp_dir.c_str());
-+ result = create_link(kde_tmp_dir.c_str(), user_tmp_dir.c_str());
- if (result == 0) return 0; /* Success */
-- unlink(kde_tmp_dir);
-- strncat(user_tmp_dir, "XXXXXX", PATH_MAX - strlen(user_tmp_dir));
-- mktemp(user_tmp_dir); /* We want a directory, not a file, so using mkstemp makes no sense and is wrong */
-- return create_link(kde_tmp_dir, user_tmp_dir);
-+ unlink(kde_tmp_dir.c_str());
-+ user_tmp_dir += "XXXXXX";
-+ tmp_buf = strdup(user_tmp_dir.c_str());
-+ mktemp(tmp_buf); /* We want a directory, not a file, so using mkstemp makes no sense and is wrong */
-+ result = create_link(kde_tmp_dir.c_str(), tmp_buf);
-+ free(tmp_buf);
-+ return result;
- }
- if ((result == -1) || (!S_ISLNK(stat_buf.st_mode)))
- {
-- fprintf(stderr, "Error: \"%s\" is not a link or a directory.\n", kde_tmp_dir);
-+ fprintf(stderr, "Error: \"%s\" is not a link or a directory.\n", kde_tmp_dir.c_str());
- return 1;
- }
- /* kde_tmp_dir is a link. Check whether it points to a valid directory. */
-- result = readlink(kde_tmp_dir, tmp_buf, PATH_MAX);
-- if (result == -1)
-- {
-- fprintf(stderr, "Error: \"%s\" could not be read.\n", kde_tmp_dir);
-- return 1;
-- }
-+ ssize_t size = 2048;
-+ tmp_buf = NULL;
-+ do {
-+ size *= 2;
-+ tmp_buf = (char *) realloc(tmp_buf, size);
-+ if (!tmp_buf)
-+ return 0;
-+ result = readlink(kde_tmp_dir.c_str(), tmp_buf, size - 1);
-+ if (result == -1)
-+ {
-+ arts_warning("Error: \"%s\" could not be read.\n", kde_tmp_dir.c_str());
-+ free(tmp_buf);
-+ return 0;
-+ }
-+ } while(result == size - 1);
- tmp_buf[result] = '\0';
-+
- printf("Link points to \"%s\"\n", tmp_buf);
-- if (strncmp(tmp_buf, user_tmp_dir, strlen(user_tmp_dir)) != 0)
-+ if (strncmp(tmp_buf, user_tmp_dir.c_str(), user_tmp_dir.length()) != 0)
- {
-- fprintf(stderr, "Error: \"%s\" points to \"%s\" instead of \"%s\".\n", kde_tmp_dir, tmp_buf, user_tmp_dir);
-- unlink(kde_tmp_dir);
-- printf("Creating link %s.\n", kde_tmp_dir);
-- result = create_link(kde_tmp_dir, user_tmp_dir);
-+ fprintf(stderr, "Error: \"%s\" points to \"%s\" instead of \"%s\".\n", kde_tmp_dir.c_str(), tmp_buf, user_tmp_dir.c_str());
-+ free(tmp_buf);
-+ unlink(kde_tmp_dir.c_str());
-+ printf("Creating link %s.\n", kde_tmp_dir.c_str());
-+ result = create_link(kde_tmp_dir.c_str(), user_tmp_dir.c_str());
- if (result == 0) return 0; /* Success */
-- unlink(kde_tmp_dir);
-- strncat(user_tmp_dir, "XXXXXX", PATH_MAX - strlen(user_tmp_dir));
-- mktemp(user_tmp_dir); /* We want a directory, not a file, so using mkstemp makes no sense and is wrong */
-- return create_link(kde_tmp_dir, user_tmp_dir);
-- return 1;
-+ unlink(kde_tmp_dir.c_str());
-+ user_tmp_dir += "XXXXXX";
-+ tmp_buf = strdup(user_tmp_dir.c_str());
-+ mktemp(tmp_buf); /* We want a directory, not a file, so using mkstemp makes no sense and is wrong */
-+ result = create_link(kde_tmp_dir.c_str(), tmp_buf);
-+ free(tmp_buf);
-+ return result;
- }
- result = check_tmp_dir(tmp_buf);
-+ free(tmp_buf);
- if (result == 0) return 0; /* Success */
-- unlink(kde_tmp_dir);
-- strncat(user_tmp_dir, "XXXXXX", PATH_MAX - strlen(user_tmp_dir));
-- mktemp(user_tmp_dir); /* We want a directory, not a file, so using mkstemp makes no sense and is wrong */
-- return create_link(kde_tmp_dir, user_tmp_dir);
-+ unlink(kde_tmp_dir.c_str());
-+ user_tmp_dir += "XXXXXX";
-+ tmp_buf = strdup(user_tmp_dir.c_str());
-+ mktemp(tmp_buf); /* We want a directory, not a file, so using mkstemp makes no sense and is wrong */
-+ result = create_link(kde_tmp_dir.c_str(), tmp_buf);
-+ free(tmp_buf);
-+ return result;
- }
-
- string MCOPUtils::createFilePath(string name)
-@@ -364,11 +373,7 @@
- if (!tmp || !tmp[0])
- tmp = "/tmp";
-
-- char tmp_prefix[PATH_MAX+1];
-- strcpy(tmp_prefix, tmp);
-- strcat(tmp_prefix, "/tdesocket-");
--
-- build_link(tmp_prefix, "/socket-");
-+ build_link(string(tmp) + "/tdesocket-", "/socket-");
- mcop_dir = locate_mcop_dir();
- }
- if (!mcop_dir)