diff --git a/reactos/tools/widl/utils.c b/reactos/tools/widl/utils.c index e77361ce339..ed950f6095d 100644 --- a/reactos/tools/widl/utils.c +++ b/reactos/tools/widl/utils.c @@ -136,6 +136,9 @@ char *dup_basename(const char *name, const char *ext) name = "widl.tab"; slash = strrchr(name, '/'); + if (!slash) + slash = strrchr(name, '\\'); + if (slash) name = slash + 1; diff --git a/reactos/tools/widl/widl.c b/reactos/tools/widl/widl.c index dc5ee2c6a35..07f024cea1d 100644 --- a/reactos/tools/widl/widl.c +++ b/reactos/tools/widl/widl.c @@ -166,6 +166,9 @@ static char *make_token(const char *name) int i; slash = strrchr(name, '/'); + if(!slash) + slash = strrchr(name, '\\'); + if (slash) name = slash + 1; token = xstrdup(name); @@ -549,12 +552,7 @@ int main(int argc,char *argv[]) } if(do_header) { - if (strrchr(header_name, '\\')) - header_token = make_token(strrchr(header_name, '\\') + 1); - else if (strrchr(header_name, '/')) - header_token = make_token(strrchr(header_name, '/') + 1); - else - header_token = make_token(header_name); + header_token = make_token(header_name); if(!(header = fopen(header_name, "w"))) { fprintf(stderr, "Could not open %s for output\n", header_name);