*
* The function main() evaluates the command line arguments to
* determine if the linker parameters are to input through 'stdin'
- * or read from a command file. The functiond getline() and parse()
+ * or read from a command file. The functiond as_getline() and parse()
* are to input and evaluate the linker parameters. The linking process
* proceeds by making the first pass through each .rel file in the order
* presented to the linker. At the end of the first pass the setbase(),
* FILE * afile() lkmain.c
* int fclose() c_library
* int fprintf() c_library
- * int getline() lklex.c
+ * int as_getline() lklex.c
* VOID library() lklibr.c
* VOID link_main() lkmain.c
* VOID lkexit() lkmain.c
filep = startp;
while (1) {
ip = ib;
- if (getline() == 0)
+ if (as_getline() == 0)
break;
if (pflag && sfp != stdin)
fprintf(stdout, "%s\n", ip);
Areas51(); /*JCF: Create the default 8051 areas in the right order*/
- while (getline()) {
+ while (as_getline()) {
ip = ib;
/* pass any "magic comments" to NoICE output */
}
}
//JCF:
- CreateAOMF51();
+ //CreateAOMF51();
#ifdef WIN32T
Timer(1, "Linker execution time");
char fid[NINPUT];
while ((c = getnb()) != 0) {
+ if ( c == ';')
+ return(0);
if ( c == '-') {
while (ctype[c=get()] & LETTER) {
switch(c) {
lkexit(1);
}
}
+ if ( c == ';')
+ return(0);
} else
if (ctype[c] & ILL) {
fprintf(stderr, "Invalid input");
/*Look backward the name path and get rid of the extension, if any*/
i=strlen(fn);
- for(; (fn[i]!='.')&&(fn[i]!='\\')&&(fn[i]!='/')&&(i>=0); i--);
+ for(; (fn[i]!='.')&&(fn[i]!='\\')&&(fn[i]!='/')&&(i>0); i--);
if( (fn[i]=='.') && strcmp(ft, "lnk") )
{
strncpy(fb, fn, i);
}
/*Add the extension*/
- strcat(fb, ".");
- strcat(fb, strlen(ft)?ft:"rel");
-
+ if (fb[i] != '.')
+ {
+ strcat(fb, ".");
+ strcat(fb, strlen(ft)?ft:"rel");
+ }
+
fp = fopen(fb, omode);
if (fp==NULL)
{