commit - 04da0159764152b99b7dd0f33ace7d97ae7c2aa1
commit + be263a722e8957d99f2a51bb11106103bf878b44
blob - 74df43c588a5c4cafc14787c33acc94709c23d3f (mode 644)
blob + /dev/null
--- src/lib9/_p9translate.c
+++ /dev/null
-#include <u.h>
-#include <libc.h>
-
-/*
- * I don't want too many of these,
- * but the ones we have are just too useful.
- */
-static struct {
- char *old;
- char *new;
-} replace[] = {
- "#9", nil, /* must be first */
- "#d", "/dev/fd",
-};
-
-char*
-plan9translate(char *old)
-{
- char *new;
- int i, olen, nlen, len;
-
- if(replace[0].new == nil){
- replace[0].new = getenv("PLAN9");
- if(replace[0].new == nil)
- replace[0].new = "/usr/local/plan9";
- }
-
- for(i=0; i<nelem(replace); i++){
- if(!replace[i].new)
- continue;
- olen = strlen(replace[i].old);
- if(strncmp(old, replace[i].old, olen) != 0
- || (old[olen] != '\0' && old[olen] != '/'))
- continue;
- nlen = strlen(replace[i].new);
- len = strlen(old)+nlen-olen;
- new = malloc(len+1);
- if(new == nil)
- return "<out of memory>";
- strcpy(new, replace[i].new);
- strcpy(new+nlen, old+olen);
- assert(strlen(new) == len);
- return new;
- }
- return old;
-}