rbb 99/10/13 11:07:23
Modified: src/lib/apr/include apr_lib.h
src/lib/apr/lib apr_cpystrn.c
Log:
Move filename_of_pathname down to APR. I have put an ap_ at the beginning
to protect namespace. This is "distilled" from http_main.c
Submitted by: Ben Hyde
Revision Changes Path
1.13 +1 -0 apache-2.0/src/lib/apr/include/apr_lib.h
Index: apr_lib.h
===================================================================
RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_lib.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- apr_lib.h 1999/10/11 14:20:38 1.12
+++ apr_lib.h 1999/10/13 18:07:22 1.13
@@ -166,6 +166,7 @@
API_EXPORT(char *) ap_cpystrn(char *d, const char *s, size_t l);
API_EXPORT(int) ap_tokenize_to_argv(ap_context_t *token_context,
char *arg_str, char ***argv_out);
+API_EXPORT(const char *) ap_filename_of_pathname(const char *pathname);
/*API_EXPORT(ap_mutex_t *) ap_create_mutex(void *m);*/
API_EXPORT(int) ap_slack(int l, int h);
API_EXPORT_NONSTD(int) ap_execle(const char *c, const char *a, ...);
1.7 +21 -0 apache-2.0/src/lib/apr/lib/apr_cpystrn.c
Index: apr_cpystrn.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/lib/apr/lib/apr_cpystrn.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- apr_cpystrn.c 1999/10/12 14:13:40 1.6
+++ apr_cpystrn.c 1999/10/13 18:07:23 1.7
@@ -196,3 +196,24 @@
return(rc);
}
+
+/* Filename_of_pathname returns the final element of the pathname.
+ * Using the current platform's filename syntax.
+ * "/foo/bar/gum" -> "gum"
+ * "/foo/bar/gum/" -> ""
+ * "gum" -> "gum"
+ * "wi\\n32\\stuff" -> "stuff
+ */
+
+const char *ap_filename_of_pathname(const char *pathname)
+{
+#ifdef WIN32
+ const char path_separator = '\\';
+#else
+ const char path_separator = '/';
+#endif
+ const char *s = strrchr(pathname, path_separator);
+
+ return s ? ++s : pathname;
+}
+