***********************
** FILE NAME : String.h
** SYSTEM NAME : Andromeda X-Windows Encapsulation
-** VERSION NUMBER : $Revision: 1.6 $
+** VERSION NUMBER : $Revision: 1.4 $
**
** DESCRIPTION : Character String class definition
**
********************************
** ORIGINAL AUTHOR : Arjen Baart - arjen@andromeda.nl
** CREATION DATE : Nov 17, 1995
-** LAST UPDATE : Nov 02, 2002
+** LAST UPDATE : Mar 31, 2010
** MODIFICATIONS :
**************************************************************************/
/*****************************
$Log: String.h,v $
- Revision 1.6 2010-12-30 12:04:02 arjen
- Added regex assignment operator
-
- Revision 1.4 2007-05-04 13:56:05 arjen
+ Revision 1.4 2007/05/04 13:56:05 arjen
Added a copy contructor to the regex class. This prevents multiple frees in the destructor.
Revision 1.3 2002/11/03 13:18:57 arjen
*****************************/
-// static const char RCSID[] = "$Id: String.h,v 1.6 2010-12-30 12:04:02 arjen Exp $";
+// static const char RCSID[] = "$Id: String.h,v 1.4 2007/05/04 13:56:05 arjen Exp $";
#ifndef STRING_H
#define STRING_H
regex(const regex & reg);
~regex();
+ regex& operator=(const regex &);
+
friend bool operator == (const String &s, const regex &r);
friend bool operator == (const regex &r, const String &s);
};
***********************
** FILE NAME : regex.cpp
** SYSTEM NAME : Andromeda X-Windows Encapsulation
-** VERSION NUMBER : $Revision: 1.5 $
+** VERSION NUMBER : $Revision: 1.3 $
**
** DESCRIPTION : regex class implementation.
**
********************************
** ORIGINAL AUTHOR : Arjen Baart - arjen@andromeda.nl
** CREATION DATE : Feb 23, 2001
-** LAST UPDATE : Feb 23, 2001
+** LAST UPDATE : Mar 31, 2010
** MODIFICATIONS :
**************************************************************************/
/*****************************
$Log: regex.cpp,v $
- Revision 1.5 2010-12-30 12:04:02 arjen
- Added regex assignment operator
-
- Revision 1.3 2007-05-04 13:56:05 arjen
+ Revision 1.3 2007/05/04 13:56:05 arjen
Added a copy contructor to the regex class. This prevents multiple frees in the destructor.
Revision 1.2 2002/09/28 06:45:51 arjen
*****************************/
-static const char RCSID[] = "$Id: regex.cpp,v 1.5 2010-12-30 12:04:02 arjen Exp $";
+static const char RCSID[] = "$Id: regex.cpp,v 1.3 2007/05/04 13:56:05 arjen Exp $";
#include <stdio.h>
#include <ctype.h>
regex::regex(const String ®)
{
original = reg;
- regcomp (&expression, reg.p->s, REG_EXTENDED);
+ int error = regcomp (&expression, reg.p->s, REG_EXTENDED);
}
regex::regex(const char *reg)
{
original = reg;
- regcomp (&expression, reg, REG_EXTENDED);
+ int error = regcomp (&expression, reg, REG_EXTENDED);
}
regex::regex(const regex & reg)
{
original = reg.original;
- regcomp (&expression, reg.original, REG_EXTENDED);
+ int error = regcomp (&expression, reg.original, REG_EXTENDED);
}
regex::~regex()
regfree(&expression);
}
+regex& regex::operator=(const regex& x)
+{
+ original = x.original;
+ int error = regcomp (&expression, x.original, REG_EXTENDED);
+
+ return *this;
+}
bool operator == (const String &s, const regex &r)
{