summaryrefslogtreecommitdiffstats
path: root/source/lib/charcnv.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/lib/charcnv.c')
-rw-r--r--source/lib/charcnv.c82
1 files changed, 34 insertions, 48 deletions
diff --git a/source/lib/charcnv.c b/source/lib/charcnv.c
index 78544f63e65..0462668ff84 100644
--- a/source/lib/charcnv.c
+++ b/source/lib/charcnv.c
@@ -317,61 +317,47 @@ update_map("\370\253\371\246\372\247\373\256\374\376\375\257\376\361");
/*
* Convert unix to dos
*/
-
-char *unix2dos_format_static(const char *str)
-{
- const char *p;
- char *dp;
-
- if (!mapsinited)
- initmaps();
-
- for (p = str, dp = cvtbuf;*p && (dp - cvtbuf < sizeof(cvtbuf) - 1); p++,dp++)
- *dp = unix2dos[(unsigned char)*p];
- *dp = 0;
- return cvtbuf;
-}
-
-char *unix2dos_format(char *str)
+char *unix2dos_format(char *str,BOOL overwrite)
{
- char *p;
-
- if (!mapsinited)
- initmaps();
-
- for (p = str; *p; p++)
- *p = unix2dos[(unsigned char)*p];
- return str;
+ char *p;
+ char *dp;
+
+ if (!mapsinited)
+ initmaps();
+
+ if (overwrite) {
+ for (p = str; *p; p++)
+ *p = unix2dos[(unsigned char)*p];
+ return str;
+ } else {
+ for (p = str, dp = cvtbuf;*p && (dp - cvtbuf < sizeof(cvtbuf) - 1); p++,dp++)
+ *dp = unix2dos[(unsigned char)*p];
+ *dp = 0;
+ return cvtbuf;
+ }
}
/*
* Convert dos to unix
*/
-
-char *dos2unix_format_static(const char *str)
-{
- const char *p;
- char *dp;
-
- if (!mapsinited)
- initmaps();
-
- for (p = str, dp = cvtbuf;*p && (dp - cvtbuf < sizeof(cvtbuf) - 1); p++,dp++)
- *dp = dos2unix[(unsigned char)*p];
- *dp = 0;
- return cvtbuf;
-}
-
-char *dos2unix_format(char *str)
+char *dos2unix_format(char *str, BOOL overwrite)
{
- char *p;
-
- if (!mapsinited)
- initmaps();
-
- for (p = str; *p; p++)
- *p = dos2unix[(unsigned char)*p];
- return str;
+ char *p;
+ char *dp;
+
+ if (!mapsinited)
+ initmaps();
+
+ if (overwrite) {
+ for (p = str; *p; p++)
+ *p = dos2unix[(unsigned char)*p];
+ return str;
+ } else {
+ for (p = str, dp = cvtbuf;*p && (dp - cvtbuf < sizeof(cvtbuf) - 1); p++,dp++)
+ *dp = dos2unix[(unsigned char)*p];
+ *dp = 0;
+ return cvtbuf;
+ }
}