Custom Query (245 matches)
Results (1 - 3 of 245)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#4 | fixed | shmat wrong return code | ||
Description |
shmat returns 0 instead of -1 for errors: Index: lib/process/shmat.c =================================================================== RCS file: /netlabs.cvs/libc/src/emx/src/lib/process/shmat.c,v retrieving revision 1.1.1.2 diff -u -r1.1.1.2 shmat.c --- lib/process/shmat.c 2005/07/18 19:51:22 1.1.1.2 +++ lib/process/shmat.c 2005/10/24 14:56:24 @@ -49,6 +49,6 @@
+ LIBCLOG_ERROR_RETURN_P(-1);
|
|||
#5 | wontfix | @response handling incomplete | ||
Description |
response file handling has problems: doesn't accept long lines, does not support multiple args per line, doesn't remove white spaces. This is a partial fix Index: lib/misc/response.c =================================================================== RCS file: /netlabs.cvs/libc/src/emx/src/lib/misc/response.c,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 response.c --- lib/misc/response.c 2004/06/08 12:03:44 1.1.1.1 +++ lib/misc/response.c 2005/10/24 14:56:24 @@ -1,6 +1,7 @@ /* response.c (emx+gcc) -- Copyright (c) 1990-1996 by Eberhard Mattes */ #include "libc-alias.h" +#include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -23,7 +24,7 @@ { int i, old_argc, new_argc, new_alloc; char **old_argv, **new_argv; - char line[1+512], *p; + char line[1+8192], *p; FILE *f; old_argc = *argcp; old_argv = *argvp; @@ -47,12 +48,29 @@ line[0] = _ARG_NONZERO|_ARG_RESPONSE; while (fgets (line+1, sizeof (line)-1, f) != NULL) { - p = strchr (line+1, '\n'); - if (p != NULL) *p = 0; - p = strdup (line); - if (p == NULL) - goto out_of_memory; - RPUT (p+1); + char* token; + p = line+1; + // YD tokenize line, OOo uses \t to separate arguments + token = strtok( p, " \t\r\n"); + while( token) { + char* p1 = strdup (token); + if (p1 == NULL) + goto out_of_memory; + // YD strip begin/end whitespaces + while (isspace(p1[strlen(p1)-1])) + p1[strlen(p1)-1] = 0; + while (isspace(*p1)) + p1++; + // YD strip begin&end quotes + if (*p1 == '\"' && p1[strlen(p1)-1] == '\"') { + p1++; + p1[strlen(p1)-1] = 0; + } + // YD don't add zero-len arguments! + if (strlen(p1)>0) + RPUT (p1); + token = strtok( NULL, " \t\r\n"); + } } if (ferror (f)) { |
|||
#16 | fixed | Allows dot as valid char for dll names | ||
Description |
The .def library parser doesn't allow dots inside names for DLL. This patch will enable it: Index: moddef2.c =================================================================== RCS file: /netlabs.cvs/libc/src/emx/src/libmoddef/moddef2.c,v retrieving revision 1.1.1.2 diff -r1.1.1.2 moddef2.c 125a126,132 > if (token == _MD_dot) > { > _strcat( stmt.library.name, "."); > token = _md_next_token (md); > _strcat (stmt.library.name, _md_get_string (md)); > token = _md_next_token (md); > } |