Clean up string includes.

Fix Fl_Shared_Image::add_handler() and friends.

Fix Fl_PNM_Image loader.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2260 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Michael R Sweet 2002-05-25 13:38:25 +00:00
parent 62424b33c5
commit acd6bd5cc8
19 changed files with 63 additions and 86 deletions

10
CHANGES
View File

@ -1,8 +1,14 @@
CHANGES IN FLTK 1.1.0rc3
- Documentation updates.
- Fl_BMP_Image, Fl_JPEG_Image, Fl_PNG_Image, and Fl_Shared_Image
didn't delete image data that was allocated.
- Fl_Shared_Image used a double-pointer to the image
handler functions, which was unnecessary and
unintuitive.
- Fl_PNM_Image didn't load the height of the image
properly.
- Fl_BMP_Image, Fl_JPEG_Image, Fl_PNG_Image, and
Fl_Shared_Image didn't delete image data that was
allocated.
- Enabled the OpenGL and threads demos when compiling
for MingW.
- Fl_File_Input didn't update the directory buttons if a

View File

@ -1,5 +1,5 @@
//
// "$Id: Fl_Shared_Image.H,v 1.22.2.3 2002/03/29 11:59:56 easysw Exp $"
// "$Id: Fl_Shared_Image.H,v 1.22.2.4 2002/05/25 13:38:24 easysw Exp $"
//
// Shared image header file for the Fast Light Tool Kit (FLTK).
//
@ -40,7 +40,7 @@ class Fl_Shared_Image : public Fl_Image {
static Fl_Shared_Image **images_; // Shared images
static int num_images_; // Number of shared images
static int alloc_images_; // Allocated shared images
static Fl_Shared_Handler **handlers_; // Additional format handlers
static Fl_Shared_Handler *handlers_; // Additional format handlers
static int num_handlers_; // Number of format handlers
static int alloc_handlers_; // Allocated format handlers
@ -77,12 +77,12 @@ class Fl_Shared_Image : public Fl_Image {
static Fl_Shared_Image *get(const char *n, int W = 0, int H = 0);
static Fl_Shared_Image **images() { return images_; }
static int num_images() { return num_images_; }
static void add_handler(Fl_Shared_Handler *f);
static void remove_handler(Fl_Shared_Handler *f);
static void add_handler(Fl_Shared_Handler f);
static void remove_handler(Fl_Shared_Handler f);
};
#endif // !Fl_Shared_Image_H
//
// End of "$Id: Fl_Shared_Image.H,v 1.22.2.3 2002/03/29 11:59:56 easysw Exp $"
// End of "$Id: Fl_Shared_Image.H,v 1.22.2.4 2002/05/25 13:38:24 easysw Exp $"
//

View File

@ -1,5 +1,5 @@
//
// "$Id: Fl_File_Icon.cxx,v 1.1.2.11 2002/04/12 20:16:07 easysw Exp $"
// "$Id: Fl_File_Icon.cxx,v 1.1.2.12 2002/05/25 13:38:24 easysw Exp $"
//
// Fl_File_Icon routines.
//
@ -39,11 +39,9 @@
// Include necessary header files...
//
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include "flstring.h"
#include <ctype.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
@ -466,5 +464,5 @@ Fl_File_Icon::labeltype(const Fl_Label *o, // I - Label data
//
// End of "$Id: Fl_File_Icon.cxx,v 1.1.2.11 2002/04/12 20:16:07 easysw Exp $".
// End of "$Id: Fl_File_Icon.cxx,v 1.1.2.12 2002/05/25 13:38:24 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: Fl_GIF_Image.cxx,v 1.1.2.11 2002/04/11 11:52:41 easysw Exp $"
// "$Id: Fl_GIF_Image.cxx,v 1.1.2.12 2002/05/25 13:38:24 easysw Exp $"
//
// Fl_GIF_Image routines.
//
@ -32,7 +32,6 @@
#include <FL/Fl.H>
#include <FL/Fl_GIF_Image.H>
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include "flstring.h"
@ -374,5 +373,5 @@ Fl_GIF_Image::Fl_GIF_Image(const char *infname) : Fl_Pixmap((char *const*)0) {
//
// End of "$Id: Fl_GIF_Image.cxx,v 1.1.2.11 2002/04/11 11:52:41 easysw Exp $".
// End of "$Id: Fl_GIF_Image.cxx,v 1.1.2.12 2002/05/25 13:38:24 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: Fl_Gl_Window.cxx,v 1.12.2.22.2.10 2002/04/11 11:52:41 easysw Exp $"
// "$Id: Fl_Gl_Window.cxx,v 1.12.2.22.2.11 2002/05/25 13:38:24 easysw Exp $"
//
// OpenGL window code for the Fast Light Tool Kit (FLTK).
//
@ -23,7 +23,7 @@
// Please report all bugs and problems to "fltk-bugs@fltk.org".
//
#include <config.h>
#include "flstring.h"
#if HAVE_GL
#include <FL/Fl.H>
@ -31,7 +31,6 @@
#include "Fl_Gl_Choice.H"
#include <FL/Fl_Gl_Window.H>
#include <stdlib.h>
#include "flstring.h"
////////////////////////////////////////////////////////////////
@ -368,5 +367,5 @@ void Fl_Gl_Window::draw_overlay() {}
#endif
//
// End of "$Id: Fl_Gl_Window.cxx,v 1.12.2.22.2.10 2002/04/11 11:52:41 easysw Exp $".
// End of "$Id: Fl_Gl_Window.cxx,v 1.12.2.22.2.11 2002/05/25 13:38:24 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: Fl_PNM_Image.cxx,v 1.1.2.6 2002/04/11 11:52:41 easysw Exp $"
// "$Id: Fl_PNM_Image.cxx,v 1.1.2.7 2002/05/25 13:38:24 easysw Exp $"
//
// Fl_PNM_Image routines.
//
@ -33,11 +33,9 @@
#include <FL/Fl.H>
#include <FL/Fl_PNM_Image.H>
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include "flstring.h"
#include <ctype.h>
//
@ -89,17 +87,15 @@ Fl_PNM_Image::Fl_PNM_Image(const char *name) // I - File to read
if (*lineptr == '\0' || *lineptr == '#') {
lineptr = fgets(line, sizeof(line), fp);
} else if (isdigit(*lineptr)) {
w(atoi(lineptr));
while (isdigit(*lineptr)) lineptr ++;
w(strtol(lineptr, &lineptr, 10));
} else lineptr ++;
}
while (lineptr != NULL && h()) {
while (lineptr != NULL && h() == 0) {
if (*lineptr == '\0' || *lineptr == '#') {
lineptr = fgets(line, sizeof(line), fp);
} else if (isdigit(*lineptr)) {
h(atoi(lineptr));
while (isdigit(*lineptr)) lineptr ++;
h(strtol(lineptr, &lineptr, 10));
} else lineptr ++;
}
@ -110,8 +106,7 @@ Fl_PNM_Image::Fl_PNM_Image(const char *name) // I - File to read
if (*lineptr == '\0' || *lineptr == '#') {
lineptr = fgets(line, sizeof(line), fp);
} else if (isdigit(*lineptr)) {
maxval = atoi(lineptr);
while (isdigit(*lineptr)) lineptr ++;
maxval = strtol(lineptr, &lineptr, 10);
} else lineptr ++;
}
} else maxval = 1;
@ -166,5 +161,5 @@ Fl_PNM_Image::Fl_PNM_Image(const char *name) // I - File to read
//
// End of "$Id: Fl_PNM_Image.cxx,v 1.1.2.6 2002/04/11 11:52:41 easysw Exp $".
// End of "$Id: Fl_PNM_Image.cxx,v 1.1.2.7 2002/05/25 13:38:24 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: Fl_Shared_Image.cxx,v 1.23.2.11 2002/05/25 02:56:59 easysw Exp $"
// "$Id: Fl_Shared_Image.cxx,v 1.23.2.12 2002/05/25 13:38:24 easysw Exp $"
//
// Shared image code for the Fast Light Tool Kit (FLTK).
//
@ -46,7 +46,7 @@ Fl_Shared_Image **Fl_Shared_Image::images_ = 0; // Shared images
int Fl_Shared_Image::num_images_ = 0; // Number of shared images
int Fl_Shared_Image::alloc_images_ = 0; // Allocated shared images
Fl_Shared_Handler **Fl_Shared_Image::handlers_; // Additional format handlers
Fl_Shared_Handler *Fl_Shared_Image::handlers_; // Additional format handlers
int Fl_Shared_Image::num_handlers_; // Number of format handlers
int Fl_Shared_Image::alloc_handlers_; // Allocated format handlers
@ -242,7 +242,7 @@ Fl_Shared_Image::reload() {
else {
// Not a standard format; try an image handler...
for (i = 0, img = 0; i < num_handlers_; i ++) {
img = (*(handlers_[i]))(name_, header, sizeof(header));
img = (handlers_[i])(name_, header, sizeof(header));
if (img) break;
}
@ -406,9 +406,9 @@ Fl_Shared_Image::get(const char *n, int W, int H) {
//
void
Fl_Shared_Image::add_handler(Fl_Shared_Handler *f) {
Fl_Shared_Image::add_handler(Fl_Shared_Handler f) {
int i; // Looping var...
Fl_Shared_Handler **temp; // New image handler array...
Fl_Shared_Handler *temp; // New image handler array...
// First see if we have already added the handler...
for (i = 0; i < num_handlers_; i ++) {
@ -417,10 +417,10 @@ Fl_Shared_Image::add_handler(Fl_Shared_Handler *f) {
if (num_handlers_ >= alloc_handlers_) {
// Allocate more memory...
temp = new Fl_Shared_Handler *[alloc_handlers_ + 32];
temp = new Fl_Shared_Handler [alloc_handlers_ + 32];
if (alloc_handlers_) {
memcpy(temp, handlers_, alloc_handlers_ * sizeof(Fl_Shared_Handler *));
memcpy(temp, handlers_, alloc_handlers_ * sizeof(Fl_Shared_Handler));
delete[] handlers_;
}
@ -439,7 +439,7 @@ Fl_Shared_Image::add_handler(Fl_Shared_Handler *f) {
//
void
Fl_Shared_Image::remove_handler(Fl_Shared_Handler *f) {
Fl_Shared_Image::remove_handler(Fl_Shared_Handler f) {
int i; // Looping var...
// First see if the handler has been added...
@ -455,11 +455,11 @@ Fl_Shared_Image::remove_handler(Fl_Shared_Handler *f) {
if (i < num_handlers_) {
// Shift later handlers down 1...
memcpy(handlers_ + i, handlers_ + i + 1,
(num_handlers_ - i) * sizeof(Fl_Shared_Handler *));
(num_handlers_ - i) * sizeof(Fl_Shared_Handler ));
}
}
//
// End of "$Id: Fl_Shared_Image.cxx,v 1.23.2.11 2002/05/25 02:56:59 easysw Exp $".
// End of "$Id: Fl_Shared_Image.cxx,v 1.23.2.12 2002/05/25 13:38:24 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: Fl_XBM_Image.cxx,v 1.1.2.4 2002/04/11 11:52:42 easysw Exp $"
// "$Id: Fl_XBM_Image.cxx,v 1.1.2.5 2002/05/25 13:38:24 easysw Exp $"
//
// Fl_XBM_Image routines.
//
@ -33,7 +33,6 @@
#include <FL/Fl.H>
#include <FL/Fl_XBM_Image.H>
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include "flstring.h"
@ -98,5 +97,5 @@ Fl_XBM_Image::Fl_XBM_Image(const char *name) : Fl_Bitmap((const char *)0,0,0) {
//
// End of "$Id: Fl_XBM_Image.cxx,v 1.1.2.4 2002/04/11 11:52:42 easysw Exp $".
// End of "$Id: Fl_XBM_Image.cxx,v 1.1.2.5 2002/05/25 13:38:24 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: Fl_XPM_Image.cxx,v 1.1.2.5 2002/05/25 02:56:59 easysw Exp $"
// "$Id: Fl_XPM_Image.cxx,v 1.1.2.6 2002/05/25 13:38:24 easysw Exp $"
//
// Fl_XPM_Image routines.
//
@ -32,11 +32,9 @@
#include <FL/Fl.H>
#include <FL/Fl_XPM_Image.H>
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include "flstring.h"
#include <ctype.h>
//
@ -127,5 +125,5 @@ Fl_XPM_Image::Fl_XPM_Image(const char *name) : Fl_Pixmap((char *const*)0) {
//
// End of "$Id: Fl_XPM_Image.cxx,v 1.1.2.5 2002/05/25 02:56:59 easysw Exp $".
// End of "$Id: Fl_XPM_Image.cxx,v 1.1.2.6 2002/05/25 13:38:24 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: Fl_mac.cxx,v 1.1.2.22 2002/04/16 15:49:06 easysw Exp $"
// "$Id: Fl_mac.cxx,v 1.1.2.23 2002/05/25 13:38:24 easysw Exp $"
//
// MacOS specific code for the Fast Light Tool Kit (FLTK).
//
@ -42,13 +42,11 @@
// still be useful.
#define CONSOLIDATE_MOTION 0
#include <config.h>
#include <FL/Fl.H>
#include <FL/x.H>
#include <FL/Fl_Tooltip.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Sys_Menu_Bar.H>
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include "flstring.h"
@ -1429,6 +1427,6 @@ void Fl::paste(Fl_Widget &receiver, int clipboard) {
//
// End of "$Id: Fl_mac.cxx,v 1.1.2.22 2002/04/16 15:49:06 easysw Exp $".
// End of "$Id: Fl_mac.cxx,v 1.1.2.23 2002/05/25 13:38:24 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: Fl_win32.cxx,v 1.33.2.37.2.34 2002/05/23 16:42:22 easysw Exp $"
// "$Id: Fl_win32.cxx,v 1.33.2.37.2.35 2002/05/25 13:38:24 easysw Exp $"
//
// WIN32-specific code for the Fast Light Tool Kit (FLTK).
//
@ -27,7 +27,6 @@
// in. Search other files for "WIN32" or filenames ending in _win32.cxx
// for other system-specific code.
#include <config.h>
#include <FL/Fl.H>
#include <FL/win32.H>
#include <FL/Fl_Window.H>
@ -42,7 +41,6 @@
#else
# include <winsock.h>
#endif
#include <ctype.h>
#include <winuser.h>
#include <commctrl.h>
@ -1177,5 +1175,5 @@ void Fl_Window::make_current() {
}
//
// End of "$Id: Fl_win32.cxx,v 1.33.2.37.2.34 2002/05/23 16:42:22 easysw Exp $".
// End of "$Id: Fl_win32.cxx,v 1.33.2.37.2.35 2002/05/25 13:38:24 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: Fl_x.cxx,v 1.24.2.24.2.20 2002/05/23 16:47:41 easysw Exp $"
// "$Id: Fl_x.cxx,v 1.24.2.24.2.21 2002/05/25 13:38:25 easysw Exp $"
//
// X specific code for the Fast Light Tool Kit (FLTK).
//
@ -33,11 +33,9 @@
/**** Define this if your keyboard lacks a backspace key... ****/
/* #define BACKSPACE_HACK 1 */
# include <config.h>
# include <FL/Fl.H>
# include <FL/x.H>
# include <FL/Fl_Window.H>
# include <ctype.h>
# include <stdio.h>
# include <stdlib.h>
# include "flstring.h"
@ -1229,5 +1227,5 @@ void Fl_Window::make_current() {
#endif
//
// End of "$Id: Fl_x.cxx,v 1.24.2.24.2.20 2002/05/23 16:47:41 easysw Exp $".
// End of "$Id: Fl_x.cxx,v 1.24.2.24.2.21 2002/05/25 13:38:25 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: filename_list.cxx,v 1.10.2.11.2.3 2002/05/02 11:11:01 easysw Exp $"
// "$Id: filename_list.cxx,v 1.10.2.11.2.4 2002/05/25 13:38:25 easysw Exp $"
//
// Filename list routines for the Fast Light Tool Kit (FLTK).
//
@ -25,7 +25,6 @@
// Wrapper for scandir with const-correct function prototypes.
#include <config.h>
#include <FL/filename.H>
#include "flstring.h"
@ -72,5 +71,5 @@ int fl_filename_list(const char *d, dirent ***list,
}
//
// End of "$Id: filename_list.cxx,v 1.10.2.11.2.3 2002/05/02 11:11:01 easysw Exp $".
// End of "$Id: filename_list.cxx,v 1.10.2.11.2.4 2002/05/25 13:38:25 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: fl_dnd_win32.cxx,v 1.5.2.9 2002/05/16 07:43:59 spitzak Exp $"
// "$Id: fl_dnd_win32.cxx,v 1.5.2.10 2002/05/25 13:38:25 easysw Exp $"
//
// Drag & Drop code for the Fast Light Tool Kit (FLTK).
//
@ -26,7 +26,6 @@
// in. Search other files for "WIN32" or filenames ending in _win32.cxx
// for other system-specific code.
#include <config.h>
#include <FL/Fl.H>
#include <FL/win32.H>
#include <FL/Fl_Window.H>
@ -41,7 +40,6 @@
#else
#include <winsock.h>
#endif
#include <ctype.h>
extern char *fl_selection_buffer[2];
extern int fl_selection_length[2];
@ -351,5 +349,5 @@ int Fl::dnd()
//
// End of "$Id: fl_dnd_win32.cxx,v 1.5.2.9 2002/05/16 07:43:59 spitzak Exp $".
// End of "$Id: fl_dnd_win32.cxx,v 1.5.2.10 2002/05/25 13:38:25 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: fl_draw_pixmap.cxx,v 1.4.2.8.2.8 2002/04/11 11:52:42 easysw Exp $"
// "$Id: fl_draw_pixmap.cxx,v 1.4.2.8.2.9 2002/05/25 13:38:25 easysw Exp $"
//
// Pixmap drawing code for the Fast Light Tool Kit (FLTK).
//
@ -33,11 +33,9 @@
// as I want to discourage programs that require support files to work.
// All data needed by a program ui should be compiled in!!!
#include <config.h>
#include <FL/Fl.H>
#include <FL/fl_draw.H>
#include <FL/x.H>
#include <ctype.h>
#include <stdio.h>
#include "flstring.h"
@ -262,5 +260,5 @@ int fl_draw_pixmap(const char*const* di, int x, int y, Fl_Color bg) {
}
//
// End of "$Id: fl_draw_pixmap.cxx,v 1.4.2.8.2.8 2002/04/11 11:52:42 easysw Exp $".
// End of "$Id: fl_draw_pixmap.cxx,v 1.4.2.8.2.9 2002/05/25 13:38:25 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: fl_font.cxx,v 1.9.2.5.2.5 2002/04/11 11:52:42 easysw Exp $"
// "$Id: fl_font.cxx,v 1.9.2.5.2.6 2002/05/25 13:38:25 easysw Exp $"
//
// Font selection code for the Fast Light Tool Kit (FLTK).
//
@ -24,16 +24,14 @@
//
// Select fonts from the FLTK font table.
#include <config.h>
#include "flstring.h"
#include <FL/Fl.H>
#include <FL/fl_draw.H>
#include <FL/x.H>
#include "Fl_Font.H"
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include "flstring.h"
#ifdef WIN32
# include "fl_font_win32.cxx"
@ -56,5 +54,5 @@ void fl_draw(const char* str, int x, int y) {
}
//
// End of "$Id: fl_font.cxx,v 1.9.2.5.2.5 2002/04/11 11:52:42 easysw Exp $".
// End of "$Id: fl_font.cxx,v 1.9.2.5.2.6 2002/05/25 13:38:25 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: fl_set_font.cxx,v 1.5.2.3.2.5 2002/04/11 11:52:43 easysw Exp $"
// "$Id: fl_set_font.cxx,v 1.5.2.3.2.6 2002/05/25 13:38:25 easysw Exp $"
//
// Font utilities for the Fast Light Tool Kit (FLTK).
//
@ -26,12 +26,11 @@
// Add a font to the internal table.
// Also see fl_set_fonts.cxx which adds all possible fonts.
#include <config.h>
#include <FL/Fl.H>
#include <FL/x.H>
#include "flstring.h"
#include "Fl_Font.H"
#include <stdlib.h>
#include "flstring.h"
static int table_size;
@ -75,5 +74,5 @@ void Fl::set_font(Fl_Font fnum, Fl_Font from) {
const char* Fl::get_font(Fl_Font fnum) {return fl_fonts[fnum].name;}
//
// End of "$Id: fl_set_font.cxx,v 1.5.2.3.2.5 2002/04/11 11:52:43 easysw Exp $".
// End of "$Id: fl_set_font.cxx,v 1.5.2.3.2.6 2002/05/25 13:38:25 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: fl_set_fonts.cxx,v 1.6.2.5.2.5 2002/04/11 11:52:43 easysw Exp $"
// "$Id: fl_set_fonts.cxx,v 1.6.2.5.2.6 2002/05/25 13:38:25 easysw Exp $"
//
// More font utilities for the Fast Light Tool Kit (FLTK).
//
@ -23,11 +23,9 @@
// Please report all bugs and problems to "fltk-bugs@fltk.org".
//
#include <config.h>
#include <FL/Fl.H>
#include <FL/x.H>
#include "Fl_Font.H"
#include <ctype.h>
#include "flstring.h"
#include <stdlib.h>
@ -42,5 +40,5 @@
#endif // WIN32
//
// End of "$Id: fl_set_fonts.cxx,v 1.6.2.5.2.5 2002/04/11 11:52:43 easysw Exp $".
// End of "$Id: fl_set_fonts.cxx,v 1.6.2.5.2.6 2002/05/25 13:38:25 easysw Exp $".
//

View File

@ -1,5 +1,5 @@
//
// "$Id: gl_draw.cxx,v 1.7.2.5.2.6 2002/04/11 11:52:43 easysw Exp $"
// "$Id: gl_draw.cxx,v 1.7.2.5.2.7 2002/05/25 13:38:25 easysw Exp $"
//
// OpenGL drawing support routines for the Fast Light Tool Kit (FLTK).
//
@ -26,7 +26,7 @@
// Functions from <FL/gl.h>
// See also Fl_Gl_Window and gl_start.cxx
#include <config.h>
#include "flstring.h"
#if HAVE_GL
#include <FL/Fl.H>
@ -35,7 +35,6 @@
#include <FL/fl_draw.H>
#include "Fl_Gl_Choice.H"
#include "Fl_Font.H"
#include "flstring.h"
int gl_height() {return fl_height();}
int gl_descent() {return fl_descent();}
@ -158,5 +157,5 @@ void gl_draw_image(const uchar* b, int x, int y, int w, int h, int d, int ld) {
#endif
//
// End of "$Id: gl_draw.cxx,v 1.7.2.5.2.6 2002/04/11 11:52:43 easysw Exp $".
// End of "$Id: gl_draw.cxx,v 1.7.2.5.2.7 2002/05/25 13:38:25 easysw Exp $".
//