3 /* table-driven version in bootes dump of 12/31/96 */
12 timeof(char *name, int force)
17 if(utfrune(name, '('))
18 return atimeof(force, name); /* archive */
24 sym = symlook(name, S_TIME, 0);
26 return (long) sym->value; /* uggh */
32 symlook(name, S_TIME, (void*)t); /* install time in cache */
39 Bprint(&bout, "touch(%s)\n", name);
43 if(utfrune(name, '('))
44 atouch(name); /* archive */
45 else if(chgtime(name) < 0) {
46 fprint(2, "%s: %r\n", name);
54 if(utfrune(name, '(') == 0) { /* file */
56 fprint(2, "remove %s: %r\n", name);
58 fprint(2, "hoon off; mk can'tdelete archive members\n");
73 n = chartorune(&r, s);
74 if (r == ' ' || r == ',' || r == '\n')
80 symlook(strdup(cp), S_TIME, (void *)t)->value = (void *)t;
84 n = chartorune(&r, s);
85 if(r != ' ' && r != ',' && r != '\n')