/***************************************************************************** * Change Log * Date | Change *-----------+----------------------------------------------------------------- * 4-Dec-85 | [1.104] Created * 24-Nov-91 | [1.177] converted to C6.0 *****************************************************************************/ #include #include #include #include #include #include #include #include #include extern char line[81]; /**************************************************************************** * jobop * Inputs: * int opindex: (not used) * int pass: 1 or 2 * Effect: * Establishes the job parameters ****************************************************************************/ void jobop(int opindex,int pass) { getlabelval * v; char * T; int i; int len; switch(pass) { /* pass decode */ case 1: break; case 2: v = getlabel(); if(v == NULL) { /* no label */ return; } /* no label */ for(i=OPERAND_START+OPERAND_LENGTH;i>OPERAND_START;i--) { /* scan back */ if(line[i] != ' ') break; } /* scan back */ /* At this point, i is pointing to the first non-space found from the right */ len = i-OPERAND_START + 1; T = malloc(len + 1); strncpy(T,&line[OPERAND_START],len); T[len] = '\0'; setjob(v->name,T); printf("%-6s JOB %s\n",v->name,T); list_line(); emit_listing(); } /* pass decode */ }