Changeset 3575 for trunk/kStuff/kHlp/Generic/kHlpGetExt.c
- Timestamp:
- Sep 2, 2007, 10:05:39 PM (18 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/kStuff/kHlp/Generic/kHlpGetExt.c
r3573 r3575 1 1 /* $Id$ */ 2 2 /** @file 3 * kHlpPath - kHlpGetExt and kHlpGetSuff. 4 */ 5 6 /* 7 * Copyright (c) 2006-2007 knut st. osmundsen <bird-src-spam@anduin.net> 3 8 * 4 * kLdr - The Dynamic Loader, Path Helper Functions.9 * This file is part of kStuff. 5 10 * 6 * Copyright (c) 2006-2007 knut st. osmundsen <bird-kbuild-src@anduin.net> 11 * kStuff is free software; you can redistribute it and/or 12 * modify it under the terms of the GNU Lesser General Public 13 * License as published by the Free Software Foundation; either 14 * version 2.1 of the License, or (at your option) any later version. 7 15 * 16 * kStuff is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 * Lesser General Public License for more details. 8 20 * 9 * This file is part of kLdr. 10 * 11 * kLdr is free software; you can redistribute it and/or modify 12 * it under the terms of the GNU General Public License as published by 13 * the Free Software Foundation; either version 2 of the License, or 14 * (at your option) any later version. 15 * 16 * kLdr is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU General Public License for more details. 20 * 21 * You should have received a copy of the GNU General Public License 22 * along with kLdr; if not, write to the Free Software 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 * You should have received a copy of the GNU Lesser General Public 22 * License along with kStuff; if not, write to the Free Software 23 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 24 24 * 25 25 */ 26 27 26 28 27 /******************************************************************************* … … 34 33 35 34 /** 36 * Get the pointer to the filename part of the name.37 *38 * @returns Pointer to where the filename starts within the string pointed to by pszFilename.39 * @returns Pointer to the terminator char if no filename.40 * @param pszFilename The filename to parse.41 */42 char *kHlpGetFilename(const char *pszFilename)43 {44 const char *pszLast = NULL;45 for (;;)46 {47 char ch = *pszFilename;48 #if defined(__OS2__) || defined(__WIN__)49 if (ch == '/' || ch == '\\' || ch == ':')50 {51 while ((ch = *++pszFilename) == '/' || ch == '\\' || ch == ':')52 /* nothing */;53 pszLast = pszFilename;54 }55 #else56 if (ch == '/')57 {58 while ((ch = *++pszFilename) == '/')59 /* betsuni */;60 pszLast = pszFilename;61 }62 #endif63 if (!ch)64 return (char *)(pszLast ? pszLast : pszFilename);65 pszFilename++;66 }67 }68 69 70 /**71 35 * Gets the filename suffix. 72 36 * … … 75 39 * @param pszFilename The filename to parse. 76 40 */ 77 char *kHlpGetSuff(const char *pszFilename)41 KHLP_DECL(char *) kHlpGetSuff(const char *pszFilename) 78 42 { 79 43 const char *pszDot = NULL; … … 103 67 * @param pszFilename The filename to parse. 104 68 */ 105 char *kHlpGetExt(const char *pszFilename)69 KHLP_DECL(char *) kHlpGetExt(const char *pszFilename) 106 70 { 107 71 char *psz = kHlpGetSuff(pszFilename); … … 109 73 } 110 74 111 112 /**113 * Checks if this is only a filename or if it contains any kind114 * of drive, directory, or server specs.115 *116 * @returns 1 if this is a filename only.117 * @returns 0 of it's isn't only a filename.118 * @param pszFilename The filename to parse.119 */120 int kHlpIsFilenameOnly(const char *pszFilename)121 {122 for (;;)123 {124 const char ch = *pszFilename++;125 #if defined(__OS2__) || defined(__WIN__)126 if (ch == '/' || ch == '\\' || ch == ':')127 #else128 if (ch == '/')129 #endif130 return 0;131 if (!ch)132 return 1;133 }134 }135 136
Note:
See TracChangeset
for help on using the changeset viewer.