| 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; | |
| } |