218 if (cl == NULL) {
219 /* no ! in n */
220 (void) wcstombs(file, n, MAXFULLNAME);
221 return(retval);
222 }
223
224 retval = 1;
225 if (cl == n) /* leading ! */
226 continue;
227 if (WEQUALSN(myname, n, cl - n) && myname[cl - n] == NULLCHAR)
228 continue;
229
230 (void) wcsncpy(tmpbuf, n, cl-n);
231 tmpbuf[cl-n] = NULLCHAR;
232 (void) wcstombs(sys, tmpbuf, MAXFULLNAME);
233
234 if (fwd != (char *) NULL) {
235 if (cl != (cr = wcsrchr(n, (wchar_t)'!'))) {
236 /* more than one ! */
237 wcsncpy(tmpbuf, cl+1, cr-cl-1);
238 tmpbuf[cr-cl-1] = NULL;
239 (void) wcstombs(fwd, tmpbuf, MAXFULLNAME);
240 }
241 } else {
242 cr = cl;
243 }
244
245 (void) wcstombs(file, cr+1, MAXFULLNAME);
246 return(retval);
247 }
248 /*NOTREACHED*/
249 }
250
|
218 if (cl == NULL) {
219 /* no ! in n */
220 (void) wcstombs(file, n, MAXFULLNAME);
221 return(retval);
222 }
223
224 retval = 1;
225 if (cl == n) /* leading ! */
226 continue;
227 if (WEQUALSN(myname, n, cl - n) && myname[cl - n] == NULLCHAR)
228 continue;
229
230 (void) wcsncpy(tmpbuf, n, cl-n);
231 tmpbuf[cl-n] = NULLCHAR;
232 (void) wcstombs(sys, tmpbuf, MAXFULLNAME);
233
234 if (fwd != (char *) NULL) {
235 if (cl != (cr = wcsrchr(n, (wchar_t)'!'))) {
236 /* more than one ! */
237 wcsncpy(tmpbuf, cl+1, cr-cl-1);
238 tmpbuf[cr-cl-1] = L'\0';
239 (void) wcstombs(fwd, tmpbuf, MAXFULLNAME);
240 }
241 } else {
242 cr = cl;
243 }
244
245 (void) wcstombs(file, cr+1, MAXFULLNAME);
246 return(retval);
247 }
248 /*NOTREACHED*/
249 }
250
|