[elephant-cvs] CVS elephant

ieslick ieslick at common-lisp.net
Tue Mar 20 02:00:08 UTC 2007


Update of /project/elephant/cvsroot/elephant
In directory clnet:/tmp/cvs-serv23926

Modified Files:
	ele-bdb.asd 
Log Message:
Remove cl-ppcre dependency

--- /project/elephant/cvsroot/elephant/ele-bdb.asd	2007/03/19 20:35:30	1.23
+++ /project/elephant/cvsroot/elephant/ele-bdb.asd	2007/03/20 02:00:07	1.24
@@ -27,17 +27,17 @@
 ;; Compile bdb lib and load libraries
 ;;
 
+
 #+(or windows mswindows)
 (defun path-for-cygwin (path)
-  "DOS pathname -> cygwin pathname. Replace backslashes with slashes and drive letter with directory.  
-\"C:\\dir\\\" -> \"/C/dir\" (drive C: must be mounted as /C/ in cgwin."
-  (let ((result (namestring path)))
-    (setf result (cl-ppcre:regex-replace "([A-Z]):" 
-                                         result 
-                                         #'(lambda (match &rest registers)
-                                             (format nil "/~a" (first registers)))
-                                         :simple-calls t))
-    (setf result (cl-ppcre:regex-replace-all "\\" result "/"))))
+"DOS pathname -> cygwin pathname. Replace backslashes with slashes and drive letter with directory.  
+e.g. \"C:\\dir\\\" -> \"/C/dir/\" (drive C: must be mounted as /C/ in cgwin)"
+  (let* ((result (namestring path))
+         (colon-pos (position #\: result))
+         (drive-letter (char result (1- colon-pos))))
+    (setf (char result (1- colon-pos)) #\/)
+    (setf (char result colon-pos) drive-letter)
+    (substitute #\/ #\\ result)))
 
 (defclass bdb-c-source (elephant-c-source) ())
 




More information about the Elephant-cvs mailing list