ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/fixargv0.c
Revision: 2.7
Committed: Sun Mar 20 16:36:17 2016 UTC (8 years, 1 month ago) by schorsch
Content type: text/plain
Branch: MAIN
Changes since 2.6: +6 -3 lines
Log Message:
copy from testfile, don't retype...

File Contents

# Content
1 #ifndef lint
2 static const char RCSid[] = "$Id: fixargv0.c,v 2.6 2016/03/19 00:44:46 schorsch Exp $";
3 #endif
4 /*
5 * Fix argv[0] for DOS environments
6 *
7 * External symbols declared in paths.h
8 */
9
10 #include "copyright.h"
11
12 #include <ctype.h>
13 #include <string.h>
14
15 extern char *
16 fixargv0(av0) /* extract command name from full path */
17 char *av0;
18 {
19 register char *cp = av0, *end = av0;
20
21 while (*cp) cp++; /* start from end */
22 end = cp;
23 while (cp-- > av0)
24 switch (*cp) { /* fix up command name */
25 case '.': /* remove extension */
26 *cp = '\0';
27 end = cp;
28 continue;
29 case '\\': /* remove directory */
30 /* make sure the original pointer remains the same */
31 memmove(av0, cp+1, end-cp);
32 break;
33 default: /* convert to lower case */
34 *cp = tolower(*cp);
35 continue;
36 }
37 return(av0);
38 }
39
40