00001 /* 00002 ** Copyright (C) 2005 by Kevin L. Mitchell <klmitch@mit.edu> 00003 ** 00004 ** This program is free software; you can redistribute it and/or modify 00005 ** it under the terms of the GNU General Public License as published by 00006 ** the Free Software Foundation; either version 2 of the License, or 00007 ** (at your option) any later version. 00008 ** 00009 ** This program is distributed in the hope that it will be useful, 00010 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 ** GNU General Public License for more details. 00013 ** 00014 ** You should have received a copy of the GNU General Public License 00015 ** along with this program; if not, write to the Free Software 00016 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 ** 00018 ** @(#)$Id: event_attr_confpath.c,v 1.3 2005/05/26 21:59:26 klmitch Exp $ 00019 */ 00027 #include "event_int.h" 00028 00029 RCSTAG("@(#)$Id: event_attr_confpath.c,v 1.3 2005/05/26 21:59:26 klmitch Exp $"); 00030 00031 ev_err_t 00032 event_attr_confpath(ev_attr_t *attr, const char **path) 00033 { 00034 const char *oldpath; 00035 00036 ev_init(); /* initialize library... */ 00037 00038 if (!ea_verify(attr) || !path) /* must be a valid attr */ 00039 ev_return(EINVAL); 00040 00041 oldpath = ea_confpath(attr); /* remember old path... */ 00042 00043 if (*path) /* setting a new path? */ 00044 ea_confpath(attr) = *path; /* then set it! */ 00045 00046 *path = oldpath; /* and return the old path */ 00047 00048 ev_return(0); 00049 }