Lines Matching defs:dd

71  * output dd dsname with &path => /tmp file map
75 dsn(Jcl_t* jcl, Jcldd_t* dd, const char* path, int mark)
79 if (mark && dd->disp[0] == JCL_DISP_MOD && !(dd->flags & JCL_DD_DIR))
94 * create dd dir if it doesn't exist
98 checkdir(Jcl_t* jcl, Jcldd_t* dd)
103 if (!dtmatch(jcl->outdir, dd->path))
105 if (dir = vmnewof(jcl->vm, NiL, Jcldir_t, 1, strlen(dd->path)))
107 strcpy(dir->name, dd->path);
110 s = dsn(jcl, dd, dd->path, 0);
124 register Jcldd_t* dd;
230 for (dd = (Jcldd_t*)dtfirst(step->dd); dd; dd = (Jcldd_t*)dtnext(step->dd, dd))
231 if (dd->flags & JCL_DD_ALIAS)
233 dd->flags &= ~JCL_DD_ALIAS;
235 t = fmtbuf(n = strlen(step->name) + strlen(dd->path) + 2);
236 sfsprintf(t, n, "%s.%s", step->name, dd->path);
238 if ((xx = (Jcldd_t*)dtmatch(scope->step->dd, t)) ||
239 (xx = (Jcldd_t*)dtmatch(scope->step->dd, dd->path)))
244 (*jcl->disc->errorf)(NiL, jcl->disc, 2, "%s: DD not defined", dd->path);
248 k = dd->link;
249 s = dd->name;
250 *dd = *xx;
251 dd->link = k;
252 dd->name = s;
256 for (dd = (Jcldd_t*)dtfirst(step->dd); dd; dd = (Jcldd_t*)dtnext(step->dd, dd))
258 if (dd->path && *dd->path == '&')
260 for (cat = dd->cat; cat; cat = cat->next)
264 if (dd)
288 for (dd = (Jcldd_t*)dtfirst(step->dd); dd; dd = (Jcldd_t*)dtnext(step->dd, dd))
290 flags = dd->disp[0] == JCL_DISP_NEW ? JCL_LISTOUTPUTS : JCL_LISTINPUTS;
291 if (dd->path && *dd->path != '&')
292 uniq(dd->path, NiL, flags, jcl->disc);
293 for (cat = dd->cat; cat; cat = cat->next)
317 for (dd = (Jcldd_t*)dtfirst(step->dd); dd; dd = (Jcldd_t*)dtnext(step->dd, dd))
318 switch (dd->flags & (JCL_DD_DIR|JCL_DD_SYSIN|JCL_DD_SYSOUT|JCL_DD_SYSERR|JCL_DD_REFERENCE))
321 if (dd->disp[0] == JCL_DISP_NEW || dd->disp[0] == JCL_DISP_MOD)
322 checkdir(jcl, dd);
325 if (dd->path)
326 std[0] = dd;
327 if (dd->here)
328 std[3] = dd;
331 std[1] = dd;
334 std[2] = dd;
337 if (!(dd->flags & JCL_DD_DUMMY) && (jcl->flags & (JCL_EXEC|JCL_VERBOSE)) && dd->path && *dd->path != '&' && dd->disp[0] == JCL_DISP_NEW && (*dd->path != '$' || *(dd->path + 1) != '(') && (s = strrchr(dd->path, '/')))
340 checkdir(jcl, dd);
345 for (dd = (Jcldd_t*)dtfirst(jcl->dd); dd; dd = (Jcldd_t*)dtnext(jcl->dd, dd))
346 if ((dd->flags & (JCL_DD_MARKED|JCL_DD_SYSIN|JCL_DD_SYSOUT|JCL_DD_SYSERR|JCL_DD_REFERENCE)) == JCL_DD_MARKED && (dd->disp[0] == JCL_DISP_NEW || dd->disp[0] == JCL_DISP_MOD))
348 s = dsn(jcl, dd, dd->path, 0);
351 for (dd = (Jcldd_t*)dtfirst(step->dd); dd; dd = (Jcldd_t*)dtnext(step->dd, dd))
352 if ((dd->flags & (JCL_DD_MARKED|JCL_DD_SYSIN|JCL_DD_SYSOUT|JCL_DD_SYSERR|JCL_DD_REFERENCE)) == JCL_DD_MARKED && (dd->disp[0] == JCL_DISP_NEW || dd->disp[0] == JCL_DISP_MOD))
354 s = dsn(jcl, dd, dd->path, 0);
357 if ((dd = std[0]) && dd->cat)
360 sfprintf(jcl->tp, "cat %s", dsn(jcl, dd, dd->path, 0));
361 for (cat = dd->cat; cat; cat = cat->next)
362 sfprintf(jcl->tp, " \\\n\t%s", dsn(jcl, dd, cat->path, 0));
369 for (dd = (Jcldd_t*)dtfirst(jcl->dd); dd; dd = (Jcldd_t*)dtnext(jcl->dd, dd))
370 if (!(dd->flags & JCL_DD_REFERENCE))
372 sfprintf(jcl->tp, "%s%s=%s", s, fmtexport(dd->name), dsn(jcl, dd, dd->path, 1));
373 for (cat = dd->cat; cat; cat = cat->next)
374 sfprintf(jcl->tp, "'\n\t'%s", dsn(jcl, dd, cat->path, 1));
376 for (dd = (Jcldd_t*)dtfirst(step->dd); dd; dd = (Jcldd_t*)dtnext(step->dd, dd))
377 if (dd->path && !(dd->flags & (JCL_DD_SYSIN|JCL_DD_SYSOUT|JCL_DD_SYSERR|JCL_DD_REFERENCE)))
379 sfprintf(jcl->tp, "%s%s=%s", s, fmtexport(dd->name), dsn(jcl, dd, dd->path, 1));
380 for (cat = dd->cat; cat; cat = cat->next)
381 sfprintf(jcl->tp, "'\n\t'%s", dsn(jcl, dd, cat->path, 1));
387 for (dd = (Jcldd_t*)dtfirst(jcl->dd); dd; dd = (Jcldd_t*)dtnext(jcl->dd, dd))
388 if (!(dd->flags & (JCL_DD_SYSIN|JCL_DD_SYSOUT|JCL_DD_SYSERR|JCL_DD_REFERENCE)) && dd->disp[0] != JCL_DISP_NEW && dd->disp[0] != JCL_DISP_MOD)
390 sfprintf(jcl->tp, "%s%s", s, fmtexport(dd->name));
393 for (dd = (Jcldd_t*)dtfirst(step->dd); dd; dd = (Jcldd_t*)dtnext(step->dd, dd))
394 if (!(dd->flags & (JCL_DD_SYSIN|JCL_DD_SYSOUT|JCL_DD_SYSERR|JCL_DD_REFERENCE)) && dd->disp[0] != JCL_DISP_NEW && dd->disp[0] != JCL_DISP_MOD)
396 sfprintf(jcl->tp, "%s%s", s, fmtexport(dd->name));
401 for (dd = (Jcldd_t*)dtfirst(jcl->dd); dd; dd = (Jcldd_t*)dtnext(jcl->dd, dd))
402 if (!(dd->flags & (JCL_DD_SYSIN|JCL_DD_SYSOUT|JCL_DD_SYSERR|JCL_DD_REFERENCE)) && (dd->disp[0] == JCL_DISP_NEW || dd->disp[0] == JCL_DISP_MOD))
404 sfprintf(jcl->tp, "%s%s", s, fmtexport(dd->name));
407 for (dd = (Jcldd_t*)dtfirst(step->dd); dd; dd = (Jcldd_t*)dtnext(step->dd, dd))
409 if (!(dd->flags & (JCL_DD_SYSIN|JCL_DD_SYSOUT|JCL_DD_SYSERR|JCL_DD_REFERENCE)) && (dd->disp[0] == JCL_DISP_NEW || dd->disp[0] == JCL_DISP_MOD))
411 sfprintf(jcl->tp, "%s%s", s, fmtexport(dd->name));
414 if (dd->disp[1] == JCL_DISP_DELETE)
416 if (dd->disp[2] == JCL_DISP_DELETE)
441 if (dd = std[0])
443 sfprintf(jcl->tp, " < %s", dsn(jcl, dd, dd->path, 0));
446 if (dd = std[1])
447 sfprintf(jcl->tp, " > %s", dsn(jcl, dd, dd->path, 0));
448 if (dd = std[2])
449 sfprintf(jcl->tp, " 2> %s", dsn(jcl, dd, dd->path, 0));
450 if (dd = std[3])
451 sfprintf(jcl->tp, " <<%s\n%s%s", fmtquote(dd->dlm, "'", "'", strlen(dd->dlm), 1), dd->here, dd->dlm);
458 for (dd = (Jcldd_t*)dtfirst(step->dd); dd; dd = (Jcldd_t*)dtnext(step->dd, dd))
459 if (dd->disp[1] == JCL_DISP_DELETE)
460 sfprintf(jcl->tp, " %s", dsn(jcl, dd, dd->path, 0));
469 for (dd = (Jcldd_t*)dtfirst(step->dd); dd; dd = (Jcldd_t*)dtnext(step->dd, dd))
470 if (dd->disp[2] == JCL_DISP_DELETE)
471 sfprintf(jcl->tp, " %s", dsn(jcl, dd, dd->path, 0));