1*c9945492SAndroid Build Coastguard Worker #include <string.h> 2*c9945492SAndroid Build Coastguard Worker #include <libgen.h> 3*c9945492SAndroid Build Coastguard Worker dirname(char * s)4*c9945492SAndroid Build Coastguard Workerchar *dirname(char *s) 5*c9945492SAndroid Build Coastguard Worker { 6*c9945492SAndroid Build Coastguard Worker size_t i; 7*c9945492SAndroid Build Coastguard Worker if (!s || !*s) return "."; 8*c9945492SAndroid Build Coastguard Worker i = strlen(s)-1; 9*c9945492SAndroid Build Coastguard Worker for (; s[i]=='/'; i--) if (!i) return "/"; 10*c9945492SAndroid Build Coastguard Worker for (; s[i]!='/'; i--) if (!i) return "."; 11*c9945492SAndroid Build Coastguard Worker for (; s[i]=='/'; i--) if (!i) return "/"; 12*c9945492SAndroid Build Coastguard Worker s[i+1] = 0; 13*c9945492SAndroid Build Coastguard Worker return s; 14*c9945492SAndroid Build Coastguard Worker } 15