1void __procfdname(char *buf, unsigned fd) 2{ 3 unsigned i, j; 4 for (i=0; (buf[i] = "/proc/self/fd/"[i]); i++); 5 if (!fd) { 6 buf[i] = '0'; 7 buf[i+1] = 0; 8 return; 9 } 10 for (j=fd; j; j/=10, i++); 11 buf[i] = 0; 12 for (; fd; fd/=10) buf[--i] = '0' + fd%10; 13} 14