]>
cygwin.com Git - cygwin-apps/setup.git/blob - package_source.cc
2 * Copyright (c) 2001, Robert Collins.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * A copy of the GNU General Public License can be found at
12 * Written by Robert Collins <rbtcollins@hotmail.com>
16 /* this is the parent class for all package source (not source code - installation
17 * source as in http/ftp/disk file) operations.
21 static const char *cvsid
=
27 #include "package_source.h"
30 packagesource::set_canonical (char const *fn
)
32 canonical
= new char[strlen (fn
) + 1];
33 strcpy (canonical
,fn
);
35 /* The base is from the last '/' to the first following '.' */
36 char const *bstart
= strchr (fn
, '/');
38 while (bstart
&& (tmp
= strchr (bstart
, '/')))
43 char const *bend
= strchr (bstart
, '.');
45 bend
= strchr (bstart
, '\0');
46 char const *end
= strchr (fn
,'\0');
47 base
= new char [bend
-bstart
+1];
48 memcpy (base
,bstart
, bend
-bstart
);
49 base
[bend
-bstart
] = '\0';
51 filename
= new char [end
- bstart
+1];
52 memcpy (filename
, bstart
, end
-bstart
);
53 filename
[end
-bstart
] = '\0';
This page took 0.040989 seconds and 6 git commands to generate.