...

Missing File

Ph45mA
01-07-2003, 03:02 PM
Hello All.

I am trying to compile some code I recieved and am receiving but one error. A missing file. This is a necessary file for the program to work.

Missing File:

fggets.c

If anybody knows where to find this file, that would be great. Or if one of you has this file that could send it to me. That would be great as well.

Thank you.

I can post the source code of the program if someone might have an idea as to how I'd go about getting around it.

CRASH_OVERRIDE
01-14-2003, 10:14 PM
I think we should see some code :thumbsup:

Ph45mA
01-15-2003, 03:43 PM
Here is the source code.


#include <stdio.h>
#include "fggets.c"
#include <stdlib.h>
#include <string.h>
#define SAVE_FORM "$SavedForm"
#define MAXSTRING 4000
#define EOLN0x0
FILE *infile;
int done = 0;
char *line;
char linebuf[4000];
char *cline;
char newlinebuf[4000];
char *name;
char namelinebuf[400];
char *savename;
char savelinebuf[400];
char *valuestr;
char valuelinebuf[400];
char *typestr;
char typelinebuf[400];
char *p;
char *q;
char * last_bracket(char * s, char * ty);
void retrieve_value(char *s, char *n);
void retrieve_name(char *s, char *n);
void retrieve_type(char *s, char *n);
void main( int argc, char *argv[] )
{
line = (char *) (&linebuf);
cline = (char *) (&newlinebuf);
name = (char *) (&namelinebuf);
savename = (char *) (&savelinebuf);
valuestr = (char *) (&valuelinebuf);
typestr = (char *) (&typelinebuf);
if (argc <= 1)
{
strcpy(line, argv[0]);
if (cline = strrchr(line, '\\'))
cline++;
else
cline = line;
p = strstr(cline, ".EXE");
if (!p[0]) p = strstr(cline, ".exe");
if (p[0]) p[0] = EOLN;
printf( "Usage:\n%s input-file\n\nOr:\n",
cline);
printf( "%s input-file > output-file\n\n",
cline);
exit( 0 );
}
if( (infile = fopen( argv[1], "rt" )) == NULL )
{
perror( "Can't open input file" );
exit( 1 );
}
printf("#!/usr/local/bin/perl \n");
printf("&return_html(); \n");
printf("\n\nsub return_html\n");
printf("{\n\n");
printf("print \"Content-type: text/html\\n\\n\";\n");
while( !done )
{
fggets( line, MAXSTRING, &done, infile );
line[strlen(line)] = EOLN;
line[strlen(line) + 1] = EOLN;
p = line;
q = cline;
while (p[0])
{
if ((p[0] == '\\') || (p[0] == '@') || (p[0] == '$') ||
(p[0] == '&') || (p[0] == '"') || (p[0] == '#'))
{
q[0] = '\\';
q++;
}
if (p[0] < 0x20)
q[0] = 0x20;
else
q[0] = p[0];
p++;
q++;
}
q[0] = EOLN;
q++;
q[0] = EOLN;
if ((strstr(cline, "<SELECT")) || (strstr(cline, "<select")))
{
retrieve_name(cline, name);
sprintf(savename, "%s{'%s'}", SAVE_FORM, name);
printf("print \"%s\";\n", cline);
printf("if (%s) {\n", savename);
printf(" print \"<OPTION>\";\n");
printf(" print \"%s\\n\";\n", savename);
printf("}\n");
}
else
if (((strstr(cline, "<INPUT")) || strstr(cline, "<input")) &&
((strstr(cline, "TYPE=")) || strstr(cline, "type=")))
{
retrieve_name(cline, name);
sprintf(savename, "%s{'%s'}", SAVE_FORM, name);
retrieve_type(cline, typestr);
if (strcmp(typestr, "TEXT") == 0)
{
p = last_bracket(cline, "TEXT");
p[0] = EOLN;
printf("print \"%s\";\n", cline);
printf("print \" VALUE=\\\"%s\\\">\\n\";\n",
savename);
p++;
printf("print \"%s\\n\";\n", p);
continue;
}
if (strcmp(typestr, "RADIO") == 0)
{
retrieve_value(cline, valuestr);
p = last_bracket(cline, "RADIO");
p[0] = EOLN;
printf("print \"%s\";\n", cline);
printf("if (%s =~ '%s') { print \" CHECKED>\\n\"; }\n",
savename, valuestr);
printf("else { print \">\\n\"; }\n");
p++;
printf("print \"%s\\n\";\n", p);
continue;
}
if ((strcmp(typestr, "CHECK") == 0) ||
(strcmp(typestr, "CHECKBOX") == 0))
{
p = last_bracket(cline, "CHECK");
p[0] = EOLN;
printf("print \"%s\";\n", cline);
printf("if (%s) { print \" CHECKED>\\n\"; }\n",
savename);
printf("else { print \">\\n\"; }\n");
p++;
printf("print \"%s\\n\";\n", p);
continue;
}
if ((strcmp(typestr, "HIDDEN") == 0))
{
p = last_bracket(cline, "HIDDEN");
p[0] = EOLN;
printf("print \"%s > \";\n", cline);
}
}
else
if ((strstr(cline, "<TEXTAREA")) || strstr(cline, "<textarea"))
{
retrieve_name(cline, name);
sprintf(savename, "%s{'%s'}", SAVE_FORM, name);
p = last_bracket(cline, "TEXTAREA");
p[0] = EOLN;
printf("print \"%s>\";", cline);
printf("print \"%s\";\n", savename);
p++;
printf("print \"%s\\n\";\n", p);
}
else
printf("print \"%s\\n\";\n", cline);
if( feof( infile ) )
break;
}
printf("\n}\n\n");
fclose(infile);
}
void retrieve_value(char *s, char *n)
{
char * t;
char * r;
n[0] = EOLN;
t = strstr(s, "VALUE=");
if (!t) t = strstr(s, "value=");
if (!t) t = strstr(s, "Value=");
if (!t)
return;
else
r = strchr(t, '=');
r++;
while ((r[0]) && ((r[0] == '\\') || (r[0] == '"')))
r++;
strcpy(n, r);
r = n;
while ((r[0]) && ((r[0] != '\\') && (r[0] != ' ') && (r[0] != '"')))
r++;
r[0] = EOLN;
}
void retrieve_type(char *s, char *n)
{
char * t;
char * r;
n[0] = EOLN;
t = strstr(s, "TYPE=");
if (!t) t = strstr(s, "type=");
if (!t) t = strstr(s, "Type=");
if (!t)
return;
else
r = strchr(t, '=');
r++;
while ((r[0]) && ((r[0] == '\\') || (r[0] == '"')))
r++;
strcpy(n, r);
r = n;
while ((r[0]) && ((r[0] != '\\') && (r[0] != ' ') && (r[0] != '"')))
r++;
r[0] = EOLN;
r = n;
while (r[0])
{
r[0] = toupper(r[0]);
r++;
}
}
void retrieve_name(char *s, char *n)
{
char * t;
char * r;
n[0] = EOLN;
t = strstr(s, "NAME=");
if (!t) t = strstr(s, "name=");
if (!t) t = strstr(s, "Name=");
if (!t)
return;
else
r = strchr(t, '=');
r++;
while ((r[0]) && ((r[0] == '\\') || (r[0] == '"')))
r++;
strcpy(n, r);
r = n;
while ((r[0]) && ((r[0] != '\\') && (r[0] != ' ') &&
(r[0] != '"') && (r[0] != '>')))
r++;
r[0] = EOLN;
}
char * last_bracket(char * s, char * ty)
{
char * r;
if (strcmp(ty, "TEXTAREA") == 0)
{
r = strstr(s, "TEXTAREA");
if (!r) r = strstr(s, "textarea");
if (!r) r = strstr(s, "Textarea");
}
if (strcmp(ty, "HIDDEN") == 0)
{
r = strstr(s, "HIDDEN");
if (!r) r = strstr(s, "hidden");
if (!r) r = strstr(s, "Hidden");
}
if (strcmp(ty, "TEXT") == 0)
{
r = strstr(s, "TEXT");
if (!r) r = strstr(s, "text");
if (!r) r = strstr(s, "Text");
}
if (strcmp(ty, "RADIO") == 0)
{
r = strstr(s, "RADIO");
if (!r) r = strstr(s, "radio");
if (!r) r = strstr(s, "Radio");
}
if (strcmp(ty, "CHECK") == 0)
{
r = strstr(s, "CHECK");
if (!r) r = strstr(s, "check");
if (!r) r = strstr(s, "Check");
}
while ((r[0]) && (r[0] != '>'))
r++;
return r;
}


The problem I am having once again, is compiling. Because I do not have the file "fggets.c". Any suggestions would be greatly appreciated.

CRASH_OVERRIDE
01-15-2003, 09:34 PM
I cant help much with the code, to much for me to go through right now... 2 suggestions (simple, yes): make sure the file is in the same directory; go to compiler's site and see if any patches
btw
nice coding, brings back memories. lol. :D



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum