void __procfdname(char* buf, unsigned fd) { | |
unsigned i, j; | |
for (i = 0; (buf[i] = "/proc/self/fd/"[i]); i++) | |
; | |
if (!fd) { | |
buf[i] = '0'; | |
buf[i + 1] = 0; | |
return; | |
} | |
for (j = fd; j; j /= 10, i++) | |
; | |
buf[i] = 0; | |
for (; fd; fd /= 10) | |
buf[--i] = '0' + fd % 10; | |
} |