Author: siefca Date: Wed May 17 01:50:09 2006 GMT Module: home-etc Tag: HEAD ---- Log message: - canonize_path() rewritten from scratch - added tilde handling while parsing pathnames - preparing for new version
---- Files affected: home-etc: Makefile.am (1.8 -> 1.9) , configure.ac (1.8 -> 1.9) , home-etc.spec.in (1.4 -> 1.5) home-etc/doc: Makefile.am (1.2 -> 1.3) , get_home_etc.3 (1.5 -> 1.6) , home_etc.3 (1.4 -> 1.5) , home_etc_path.3 (1.6 -> 1.7) , home_etc_reset.3 (1.1 -> 1.2) home-etc/sh: home-etc (1.9 -> 1.10) home-etc/src: Makefile.am (1.4 -> 1.5) , core.c (1.17 -> 1.18) , core.h (1.10 -> 1.11) , example.c (1.5 -> 1.6) , example2.c (1.4 -> 1.5) , example3.c (1.2 -> 1.3) , home_etc.c (1.13 -> 1.14) , home_etc.h (1.13 -> 1.14) , includes.h (1.2 -> 1.3) , test.c (1.10 -> 1.11) ---- Diffs: ================================================================ Index: home-etc/Makefile.am diff -u home-etc/Makefile.am:1.8 home-etc/Makefile.am:1.9 --- home-etc/Makefile.am:1.8 Thu Feb 26 11:41:01 2004 +++ home-etc/Makefile.am Wed May 17 03:50:04 2006 @@ -11,8 +11,8 @@ publish: $(MAKE) clean $(MAKE) dist - scp $(PACKAGE)-$(VERSION).tar.gz [EMAIL PROTECTED]:~/ftp-pld/distfiles - ssh [EMAIL PROTECTED] 'chmod a+r ~/ftp-pld/distfiles/*' + scp $(PACKAGE)-$(VERSION).tar.gz [EMAIL PROTECTED]:~/ftp/distfiles + ssh [EMAIL PROTECTED] 'chmod a+r ~/ftp/distfiles/*' cd ../SPECS && cvs up $(PACKAGE).spec cp -f ../SPECS/$(PACKAGE).spec ../SPECS/$(PACKAGE).spec.bak cp -f ./$(PACKAGE).spec ../SPECS/$(PACKAGE).spec ================================================================ Index: home-etc/configure.ac diff -u home-etc/configure.ac:1.8 home-etc/configure.ac:1.9 --- home-etc/configure.ac:1.8 Thu Feb 19 01:12:34 2004 +++ home-etc/configure.ac Wed May 17 03:50:04 2006 @@ -1,4 +1,4 @@ -AC_INIT([home-etc],[1.0.9],[siefca/at/gnu.org]) +AC_INIT([home-etc],[1.2.0],[siefca/at/gnu.org]) AC_CONFIG_HEADER([config.h]) PACKAGE=$PACKAGE_NAME VERSION=$PACKAGE_VERSION @@ -11,7 +11,7 @@ dnl Checks for Libtool. LT_CURRENT=1 -LT_REVISION=0 +LT_REVISION=2 LT_AGE=0 AM_PROG_LIBTOOL ================================================================ Index: home-etc/home-etc.spec.in diff -u home-etc/home-etc.spec.in:1.4 home-etc/home-etc.spec.in:1.5 --- home-etc/home-etc.spec.in:1.4 Thu Feb 19 11:36:55 2004 +++ home-etc/home-etc.spec.in Wed May 17 03:50:04 2006 @@ -1,6 +1,6 @@ # $Revision$, $Date$ -Summary: @SUMMARY@ -Summary(pl): Biblioteki i programy zapewniające wsparcie dla HOME-ETC +Summary: HOME-ETC support programs and scripts +Summary(pl): Skrypty i programy zapewniające wsparcie dla HOME-ETC Name: home-etc Version: @VERSION@ Release: @RELEASE@ @@ -8,10 +8,11 @@ License: LGPL Group: Base Source0: ftp://ftp.pld-linux.org/people/siefca/distfiles/%{name}-%{version}.tar.gz -# Source0-md5: 0afb4f7ae132c83cea89bb1a6646f8ff +# Source0-md5: 628d3acd77458e291f753992d81977c4 BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool +Requires: %{name}-lib = %{epoch}:%{version}-%{release} Requires: coreutils Requires: shadow BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -27,12 +28,29 @@ w jego katalogu domowym. Pakiet ten zapewnia wsparcie dla tego mechanizmu. +%package lib +Summary: HOME-ETC Library +Summary(pl): Biblioteka mechanizmu HOME-ETC +License: LGPL +Group: Libraries + +%description lib +HOME-ETC is an idea to keep configuration files in a subdirectory +specified by user, instead of its home directory. This package +contains shared HOME-ETC library. + +%description lib -l pl +HOME-ETC jest pomysłem, aby przechowywać pliki konfiguracyjne +w podkatalogu wskazanym przez użytkownika, zamiast bezpośrednio +w jego katalogu domowym. Pakiet ten zawiera bibliotekę dzieloną +HOME-ETC. + %package devel Summary: Header files for HOME-ETC Summary(pl): Pliki nagłówkowe dla mechanizmu HOME-ETC License: LGPL Group: Development/Libraries -Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: %{name}-lib = %{epoch}:%{version}-%{release} %description devel HOME-ETC is an idea to keep configuration files in a subdirectory @@ -95,6 +113,7 @@ %install rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT%{_libexecdir} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT @@ -102,17 +121,20 @@ %clean rm -rf $RPM_BUILD_ROOT -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%post lib -p /sbin/ldconfig +%postun lib -p /sbin/ldconfig %files %defattr(644,root,root,755) %doc AUTHORS CONTRIBUTORS README doc/HOME-ETC.pl.txt %attr(755,root,root) %{_bindir}/* -%attr(755,root,root) %{_libdir}/lib*.so.*.*.* %attr(755,root,root) /etc/profile.d/home-etc.*sh /etc/skel/.home_etc +%files lib +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/lib*.so.*.*.* + %files devel %defattr(644,root,root,755) %doc doc/DEVEL-NOTES FILES TODO @@ -135,6 +157,29 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.5 2006/05/17 01:50:04 siefca +- canonize_path() rewritten from scratch +- added tilde handling while parsing pathnames +- preparing for new version + +Revision 1.24 2005/08/29 17:23:19 baggins +- release 4 +- so lib back to /usr/lib where it belongs (rpm no longer requires it) + +Revision 1.23 2005/06/22 07:21:49 qboosh +- -lib Group changed to Libraries +- -devel R: -lib not base +- release 3 + +Revision 1.22 2005/06/19 14:18:49 baggins +- release 2 +- added lib subpackage +- install shared lib in /lib +- STBR + +Revision 1.21 2004/04/07 14:09:23 siefca +- new release (autogenerated from publish target) + Revision 1.4 2004/02/19 10:36:55 qboosh - applied fixes from SPECS ================================================================ Index: home-etc/doc/Makefile.am diff -u home-etc/doc/Makefile.am:1.2 home-etc/doc/Makefile.am:1.3 --- home-etc/doc/Makefile.am:1.2 Thu Dec 11 20:34:17 2003 +++ home-etc/doc/Makefile.am Wed May 17 03:50:04 2006 @@ -1,3 +1,3 @@ -dist_man_MANS = get_home_etc.3 home_etc.3 home_etc_path.3 home_etc_reset.3 +dist_man_MANS = get_home_etc.3 home_etc.3 home_etc_path.3 home_etc_reset.3 home_etc_expand_tilde.3 EXTRA_DIST = DEVEL-NOTES HOME-ETC.pl.txt ================================================================ Index: home-etc/doc/get_home_etc.3 diff -u home-etc/doc/get_home_etc.3:1.5 home-etc/doc/get_home_etc.3:1.6 --- home-etc/doc/get_home_etc.3:1.5 Mon Dec 15 14:30:49 2003 +++ home-etc/doc/get_home_etc.3 Wed May 17 03:50:04 2006 @@ -1,4 +1,4 @@ -.\" Copyright (c) 2003 by Paweł Wilk <[EMAIL PROTECTED]> +.\" Copyright (c) 2003-2006 by Paweł Wilk <[EMAIL PROTECTED]> .\" .\" Permission is granted to copy, distribute and/or modify this document .\" under the terms of the GNU Free Documentation License, Version 1.2 ================================================================ Index: home-etc/doc/home_etc.3 diff -u home-etc/doc/home_etc.3:1.4 home-etc/doc/home_etc.3:1.5 --- home-etc/doc/home_etc.3:1.4 Mon Dec 15 14:39:19 2003 +++ home-etc/doc/home_etc.3 Wed May 17 03:50:04 2006 @@ -1,4 +1,4 @@ -.\" Copyright (c) 2003 by Paweł Wilk <[EMAIL PROTECTED]> +.\" Copyright (c) 2003-2006 by Paweł Wilk <[EMAIL PROTECTED]> .\" .\" Permission is granted to copy, distribute and/or modify this document .\" under the terms of the GNU Free Documentation License, Version 1.2 ================================================================ Index: home-etc/doc/home_etc_path.3 diff -u home-etc/doc/home_etc_path.3:1.6 home-etc/doc/home_etc_path.3:1.7 --- home-etc/doc/home_etc_path.3:1.6 Mon Dec 15 14:39:19 2003 +++ home-etc/doc/home_etc_path.3 Wed May 17 03:50:04 2006 @@ -1,4 +1,4 @@ -.\" Copyright (c) 2003 by Paweł Wilk <[EMAIL PROTECTED]> +.\" Copyright (c) 2003-2006 by Paweł Wilk <[EMAIL PROTECTED]> .\" .\" Permission is granted to copy, distribute and/or modify this document .\" under the terms of the GNU Free Documentation License, Version 1.2 @@ -30,10 +30,15 @@ as much parts of the directories as it is possible in: pathname and (obtained before) home directory. +If \fBhome_etc_expand_tile(3)\fP has been used before to enable +tilde-slash pair parsing, the function treats \fI~/\fP as if it +was user's home directory path (in fact it internally replaces it first +and then goes to re-parse it, to make sure that the home directory is ok). + Substitution is made for the found string of the user's home directory, which is searched in the pathname. The home-dir part of the string becomes the value of the \fBHOME_ETC\fP. - + The use_env is simply passed to the \fBget_home_etc_static(3)\fP. The function iterates using \fBchdir(2)\fP and \fBgetcwd(3)\fP to canonize parts @@ -72,8 +77,14 @@ .sp the function: .sp -.BI "home_etc_path(" /home/users/siefca/.muttrc ", " 1 ); +.BI "home_etc_path("""/home/users/siefca/.muttrc """, " 1 ); .sp +or a pair: +.sp +.BI "home_etc_expand_tilde(" 1 ); +.BI "home_etc_path("""~/.muttrc """, " 1 ); +.sp + will return .I /usr/siefca-configs/.muttrc .LP @@ -222,6 +233,7 @@ .SH "SEE ALSO" .BR home_etc(3), +.BR home_etc_expand_tile(3), .BR home_etc_reset(3), .BR get_home_etc(3), .BR get_home_etc_static(3), ================================================================ Index: home-etc/doc/home_etc_reset.3 diff -u home-etc/doc/home_etc_reset.3:1.1 home-etc/doc/home_etc_reset.3:1.2 --- home-etc/doc/home_etc_reset.3:1.1 Wed Dec 10 17:38:53 2003 +++ home-etc/doc/home_etc_reset.3 Wed May 17 03:50:04 2006 @@ -1,4 +1,4 @@ -.\" Copyright (c) 2003 by Paweł Wilk <[EMAIL PROTECTED]> +.\" Copyright (c) 2003-2006 by Paweł Wilk <[EMAIL PROTECTED]> .\" .\" Permission is granted to copy, distribute and/or modify this document .\" under the terms of the GNU Free Documentation License, Version 1.2 ================================================================ Index: home-etc/sh/home-etc diff -u home-etc/sh/home-etc:1.9 home-etc/sh/home-etc:1.10 --- home-etc/sh/home-etc:1.9 Thu Feb 26 11:41:02 2004 +++ home-etc/sh/home-etc Wed May 17 03:50:04 2006 @@ -2,7 +2,7 @@ # home-etc library: obtain user-decided configuration directory # -# Copyright (C) 2003 Pawel Wilk <[EMAIL PROTECTED]>, +# Copyright (C) 2003-2006 Pawel Wilk <[EMAIL PROTECTED]>, # # This is free software; see the GNU Lesser General Public License version 2 # or later for copying conditions. There is NO warranty. ================================================================ Index: home-etc/src/Makefile.am diff -u home-etc/src/Makefile.am:1.4 home-etc/src/Makefile.am:1.5 --- home-etc/src/Makefile.am:1.4 Mon Dec 15 14:43:02 2003 +++ home-etc/src/Makefile.am Wed May 17 03:50:04 2006 @@ -22,7 +22,8 @@ examples = \ example.c \ example2.c \ - example3.c + example3.c \ + example4.c install-data-local: $(mkinstalldirs) $(DESTDIR)$(examplesdir) ================================================================ Index: home-etc/src/core.c diff -u home-etc/src/core.c:1.17 home-etc/src/core.c:1.18 --- home-etc/src/core.c:1.17 Thu Feb 19 01:12:34 2004 +++ home-etc/src/core.c Wed May 17 03:50:04 2006 @@ -1,12 +1,14 @@ /* home-etc library: obtain user-decided configuration directory * - * Copyright (C) 2003 Pawel Wilk <[EMAIL PROTECTED]>, + * Copyright (C) 2003-2006 Pawel Wilk <[EMAIL PROTECTED]>, * * This is free software; see the GNU Lesser General Public License version 2 * or later for copying conditions. There is NO warranty. * */ +#include <stdio.h> + #include "includes.h" #include "core.h" @@ -45,85 +47,172 @@ /*********************************************************************/ -inline static int canonize_dir(char *path, size_t s) +inline static int absolutize_dir(char *path, size_t s) { - char buff[MAXPATHLEN]; - - if (! getcwd(buff, sizeof(buff)-2)) - return -1; - buff[MAXPATHLEN-1] = '\0'; + /* change dir to path */ if (chdir(path) == -1) return -1; + + /* get the result */ if (! getcwd(path, s)) { - chdir(buff); return -1; } - if (*path == '/' && *(path+1) == '\0') - *path = '\0'; - - chdir(buff); return 0; } /*********************************************************************/ -const char *canonize_path(const char *path) +const char *canonize_path(const char *path, char use_env, char expand_tilde) { - int counter = 254; + char trailslash = 0; + int counter = 256; size_t s; - char *p = NULL, *q = NULL; + char *p = NULL; + char *q = NULL; + const char *home_d = NULL; + static char pbuff[MAXPATHLEN+2]; char buff[MAXPATHLEN]; - static char pathbuf[MAXPATHLEN]; + char intbuf[MAXPATHLEN]; + char prev[MAXPATHLEN]; - bzero(buff, sizeof(buff)); - bzero(pathbuf, sizeof(pathbuf)); + /* memorize CWD */ + prev[MAXPATHLEN-1] = '\0'; + if (! getcwd(prev, sizeof(prev))) + return NULL; s = strlen(path); - if (s > sizeof(buff) - 2 || s <= 0) - return NULL; + if (s > 0 && *(path+s-1) == '/') + trailslash = 1; - if (*path != '/') + bzero(buff, sizeof(buff)); + bzero(pbuff, sizeof(pbuff)); + + /* if we have leading tilde-slash */ + if (expand_tilde && *path == '~' && *(path+1) == '/') { - if (! getcwd(buff, sizeof(buff))) - return NULL; - s += strlen(buff); - if (s > sizeof(pathbuf) - 2) - return NULL; - strcpy(pathbuf, buff); - *buff = '\0'; - } - - strncat(buff, path, sizeof(buff)-1); - p = buff; - if (*p == '/') p++; - s = strlen(pathbuf) - 2; - - while (s > 0 && counter > 0 && (q = strchr(p, (int)'/'))) - { - if (*(q+1) != '\0') - *q = '\0'; - s -= strlen(p) + 1; - if (s <= 0) return NULL; - strcat(pathbuf, "/"); - strcat(pathbuf, p); - p = q+1; - if (canonize_dir(pathbuf, s) == -1) - break; - counter--; - } - if (s <= 0 || counter <= 0) return NULL; - - if (p && *p != '\0') - { - s = sizeof(pathbuf) - strlen(pathbuf) - 2; - if (strlen(p) > s) return NULL; - strcat(pathbuf, "/"); - strcat(pathbuf, p); + home_d = obtain_home_dir(use_env); + if (home_d == NULL || + strlen(home_d) + strlen(path) > sizeof(buff)-2) + { + chdir(prev); + return NULL; + } + strcpy(buff, home_d); /* strcpy checked */ + strcat(buff, path+1); /* strcat checked */ + } + else /* just copy path into buffer */ + { + if (strlen(path) > sizeof(buff)-2) + { + chdir(prev); + return NULL; + } + strcpy(buff, path); /* strcpy checked */ + } + + /* if we (still) have relative pathname */ + if (*buff != '/' && *buff != '\0') + { + intbuf[sizeof(intbuf)-1] = '\0'; + if (!getcwd(intbuf, (sizeof(intbuf) - 2)) || + strlen(intbuf) + strlen(buff) > sizeof(pbuff) - 2) + { + chdir(prev); + return NULL; + } + strcpy(pbuff, intbuf);/* strcpy checked */ + strcat(pbuff, "/"); /* strcpy checked */ + strcat(pbuff, buff); /* strcat checked */ + } + else /* if we have absolute pathname */ + { + if (strlen(buff) > sizeof(pbuff)-2) + { + chdir(prev); + return NULL; + } + strcpy(pbuff, buff); /* strcpy checked */ + } + + /* remember the original size */ + s = strlen(pbuff); + + /* travel from last slash to first and try to enter the dir */ + /* to split path into 2 pieces: resolvable and unresolvable */ + q = NULL; + while((q = strrchr(pbuff, (int)'/')) && counter-- + && chdir(pbuff) == -1) + *q = '\0'; + + if(counter <= 0) /* do we have strange traversal loops? */ + { + chdir(prev); + return NULL; + } + if (q == NULL || q >= pbuff+s) /* pure resolvable path? */ + q = pbuff+s; /* point it to \0 string */ + else + q += strlen(q); + /* q pointer now keeps the borderline between resolvable */ + /* and unresolvable part of the pathname */ + + /* rebirth our paths by eliminating zeroes from prev. oper. */ + p = pbuff; + while(p < pbuff+s) + { + if(*p == '\0') + *p = '/'; + p++; + } + + /* keep unresolvable part of the path in intbuf */ + if(q && *q != '\0') + { + if(strlen(q) > sizeof(intbuf)-2) + { + chdir(prev); + return NULL; + } + strcpy(intbuf, q); /* strcpy checked */ + *q = '\0'; /* keep split */ + } + else + *intbuf = '\0'; + + /* make the buffered, resolvable path absolute */ + if(absolutize_dir(pbuff, sizeof(pbuff)-1) == -1) + { + chdir(prev); + return NULL; + } + + if(intbuf && *intbuf != '\0') + { + /* attach the unresolvable part to the absolutized part */ + if(strlen(pbuff)+strlen(intbuf) > sizeof(pbuff)-2) + { + chdir(prev); + return NULL; + } + strcat(pbuff, intbuf); /* strcat checked */ + } + + s = strlen(pbuff); + if (s > 0) + { + if(trailslash && (*(pbuff+s-1) != '/') && s < sizeof(pbuff)-2) + { + *(pbuff+s) = '/'; + *(pbuff+s+1) = '\0'; + } + if(!trailslash && (*(pbuff+s-1) == '/')) + *(pbuff+s) = '\0'; } - return pathbuf; + chdir(prev); + return pbuff; } /*********************************************************************/ @@ -148,7 +237,7 @@ { return pw->pw_dir; } - + return NULL; } ================================================================ Index: home-etc/src/core.h diff -u home-etc/src/core.h:1.10 home-etc/src/core.h:1.11 --- home-etc/src/core.h:1.10 Thu Feb 19 01:12:34 2004 +++ home-etc/src/core.h Wed May 17 03:50:04 2006 @@ -1,6 +1,6 @@ /* home-etc library: obtain user-decided configuration directory * - * Copyright (C) 2003 Pawel Wilk <[EMAIL PROTECTED]>, + * Copyright (C) 2003-2006 Pawel Wilk <[EMAIL PROTECTED]>, * * This is free software; see the GNU Lesser General Public License version 2 * or later for copying conditions. There is NO warranty. @@ -20,7 +20,7 @@ const char *get_home_etc_core(char use_env); const char *home_etc_path_core(const char *path, char use_env); -const char *canonize_path(const char *path); +const char *canonize_path(const char *path, char use_env, char expand_tilde); const char *compare_paths(const char *a, const char *b); #endif ================================================================ Index: home-etc/src/example.c diff -u home-etc/src/example.c:1.5 home-etc/src/example.c:1.6 --- home-etc/src/example.c:1.5 Thu Feb 19 01:12:34 2004 +++ home-etc/src/example.c Wed May 17 03:50:04 2006 @@ -1,6 +1,6 @@ /* home-etc library: obtain user-decided configuration directory * - * Copyright (C) 2003 Pawel Wilk <[EMAIL PROTECTED]>, + * Copyright (C) 2003-2006 Pawel Wilk <[EMAIL PROTECTED]>, * * This is free software; see the GNU Lesser General Public License version 2 * or later for copying conditions. There is NO warranty. ================================================================ Index: home-etc/src/example2.c diff -u home-etc/src/example2.c:1.4 home-etc/src/example2.c:1.5 --- home-etc/src/example2.c:1.4 Thu Feb 19 01:12:34 2004 +++ home-etc/src/example2.c Wed May 17 03:50:04 2006 @@ -1,6 +1,6 @@ /* home-etc library: obtain user-decided configuration directory * - * Copyright (C) 2003 Pawel Wilk <[EMAIL PROTECTED]>, + * Copyright (C) 2003-2006 Pawel Wilk <[EMAIL PROTECTED]>, * * This is free software; see the GNU Lesser General Public License version 2 * or later for copying conditions. There is NO warranty. ================================================================ Index: home-etc/src/example3.c diff -u home-etc/src/example3.c:1.2 home-etc/src/example3.c:1.3 --- home-etc/src/example3.c:1.2 Thu Feb 19 01:12:34 2004 +++ home-etc/src/example3.c Wed May 17 03:50:04 2006 @@ -1,6 +1,6 @@ /* home-etc library: obtain user-decided configuration directory * - * Copyright (C) 2003 Pawel Wilk <[EMAIL PROTECTED]>, + * Copyright (C) 2003-2006 Pawel Wilk <[EMAIL PROTECTED]>, <<Diff was trimmed, longer than 597 lines>> ---- CVS-web: http://cvs.pld-linux.org/home-etc/Makefile.am?r1=1.8&r2=1.9&f=u http://cvs.pld-linux.org/home-etc/configure.ac?r1=1.8&r2=1.9&f=u http://cvs.pld-linux.org/home-etc/home-etc.spec.in?r1=1.4&r2=1.5&f=u http://cvs.pld-linux.org/home-etc/doc/Makefile.am?r1=1.2&r2=1.3&f=u http://cvs.pld-linux.org/home-etc/doc/get_home_etc.3?r1=1.5&r2=1.6&f=u http://cvs.pld-linux.org/home-etc/doc/home_etc.3?r1=1.4&r2=1.5&f=u http://cvs.pld-linux.org/home-etc/doc/home_etc_path.3?r1=1.6&r2=1.7&f=u http://cvs.pld-linux.org/home-etc/doc/home_etc_reset.3?r1=1.1&r2=1.2&f=u http://cvs.pld-linux.org/home-etc/sh/home-etc?r1=1.9&r2=1.10&f=u http://cvs.pld-linux.org/home-etc/src/Makefile.am?r1=1.4&r2=1.5&f=u http://cvs.pld-linux.org/home-etc/src/core.c?r1=1.17&r2=1.18&f=u http://cvs.pld-linux.org/home-etc/src/core.h?r1=1.10&r2=1.11&f=u http://cvs.pld-linux.org/home-etc/src/example.c?r1=1.5&r2=1.6&f=u http://cvs.pld-linux.org/home-etc/src/example2.c?r1=1.4&r2=1.5&f=u http://cvs.pld-linux.org/home-etc/src/example3.c?r1=1.2&r2=1.3&f=u http://cvs.pld-linux.org/home-etc/src/home_etc.c?r1=1.13&r2=1.14&f=u http://cvs.pld-linux.org/home-etc/src/home_etc.h?r1=1.13&r2=1.14&f=u http://cvs.pld-linux.org/home-etc/src/includes.h?r1=1.2&r2=1.3&f=u http://cvs.pld-linux.org/home-etc/src/test.c?r1=1.10&r2=1.11&f=u _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit