Custom Query (245 matches)
Results (4 - 6 of 245)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#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)) { |
|||
#7 | fixed | emxomf: 255 name limit and weak symbols | ||
Description |
There is a problem with the encoding of weak symbols and the 255 limit. Weak symbols can excess 255 chars with their $w$<stuff> while the references will not, thus causing the linking to fail. What needs doing is to standardize the length of the $w$ suffix (only using timestamp, prefering TSC) and limit standard symbols (i.e. non-weak) and symbol references to a length where they will be trunkated when the weak ones will be. $w$<64-bit hex#> == 3+16, so the limit should be dropped from 255 to 236. |
|||
#8 | fixed | libc: fcntl(F_SETFL) w/ O_NONBLOCK on sockets | ||
Description |
the above doesn't work. See http://ubb.innotek.de/cgi-bin/ultimatebb.cgi?ubb=get_topic&f=33&t=000132#000001 |