Ver Mensaje Individual
  #10 (permalink)  
Antiguo 08/06/2006, 09:30
Avatar de José Molina
José Molina
 
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 23 años
Puntos: 1
He tratado de implementar ese ejemplo:

#include <stdio.h>
#ifndef NO_STDLIB_H
#include <stdlib.h>
#else
char *getenv();
#endif
#include <string.h>

#define MAX_ENTRIES 10000

typedef struct {
char *name;
char *val;
} entry;

char *makeword(char *line, char stop);
char *fmakeword(FILE *f, char stop, int *len);
char x2c(char *what);
void unescape_url(char *url);
void plustospace(char *str);


main(int argc, char *argv[]) {
entry entries[MAX_ENTRIES];
register int x,m=0;
int cl;

printf("Content-type: text/html%c%c",10,10);

if(strcmp(getenv("REQUEST_METHOD"),"POST")) {
printf("This script should be referenced with a METHOD of POST.\n");
printf("If you don't understand this, see this ");
printf("<A HREF=\"http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/fill-out-forms/overview.html\">forms overview</A>.%c",10);
exit(1);
}
if(strcmp(getenv("CONTENT_TYPE"),"application/x-www-form-urlencoded")) {
printf("This script can only be used to decode form results. \n");
exit(1);
}
cl = atoi(getenv("CONTENT_LENGTH"));

for(x=0;cl && (!feof(stdin));x++) {
m=x;
entries[x].val = fmakeword(stdin,'&',&cl);
plustospace(entries[x].val);
unescape_url(entries[x].val);
entries[x].name = makeword(entries[x].val,'=');
}

printf("<H1>Query Results</H1>");
printf("You submitted the following name/value pairs:<p>%c",10);
printf("<ul>%c",10);

for(x=0; x <= m; x++)
printf("<li> <code>%s = %s</code>%c",entries[x].name,
entries[x].val,10);
printf("</ul>%c",10);

/* de aqui en adelante colocar el codigo nuevo */

Pero nunca entra en el for (x=0;cl && (!feof(stdin));x++) ya que no se cumple el
!feof(stdin)

Alguna idea??

Gracias
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.