diff options
Diffstat (limited to 'apps/apps.c')
-rw-r--r-- | apps/apps.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/apps/apps.c b/apps/apps.c index f9cc27052b..354043ef6e 100644 --- a/apps/apps.c +++ b/apps/apps.c @@ -201,6 +201,27 @@ void program_name(char *in, char *out, int size) out[n]='\0'; } #else +#ifdef VMS +void program_name(char *in, char *out, int size) + { + char *p=in, *q; + char *chars=":]>"; + + while(*chars != '\0') + { + q=strrchr(p,*chars); + if (q > p) + p = q + 1; + chars++; + } + + q=strrchr(p,'.'); + if (q == NULL) + q = in+size; + strncpy(out,p,q-p); + out[q-p]='\0'; + } +#else void program_name(char *in, char *out, int size) { char *p; @@ -214,6 +235,7 @@ void program_name(char *in, char *out, int size) out[size-1]='\0'; } #endif +#endif #ifdef WIN32 int WIN32_rename(char *from, char *to) |