diff options
Diffstat (limited to 'app/bin/file2uri.c')
-rw-r--r-- | app/bin/file2uri.c | 59 |
1 files changed, 29 insertions, 30 deletions
diff --git a/app/bin/file2uri.c b/app/bin/file2uri.c index a9d8f4f..86a67cf 100644 --- a/app/bin/file2uri.c +++ b/app/bin/file2uri.c @@ -2,46 +2,44 @@ * Conversion for filename to URI and reverse */ - /* XTrackCAD - Model Railroad CAD - * Copyright (C) 2019 Martin Fischer - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#include <string.h> -#include <stdio.h> -#include "wlib.h" +/* XTrackCAD - Model Railroad CAD + * Copyright (C) 2019 Martin Fischer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "common.h" static char *reservedChars = "?#[]@!$&'()*+,;= "; -unsigned +unsigned File2URI(char *fileName, unsigned resultLen, char *resultBuffer) { char *currentSource = fileName; - char *currentDest; + char *currentDest; currentDest = resultBuffer; - while (*currentSource && ((unsigned)(currentDest - resultBuffer) < resultLen - 1)) { + while (*currentSource + && ((unsigned)(currentDest - resultBuffer) < resultLen - 1)) { if (*currentSource == FILE_SEP_CHAR[ 0 ]) { *currentDest++ = '/'; currentSource++; continue; } - if (strchr(reservedChars, *currentSource)) - { + if (strchr(reservedChars, *currentSource)) { sprintf(currentDest, "%%%02x", *currentSource); currentSource++; currentDest += 3; @@ -51,17 +49,18 @@ File2URI(char *fileName, unsigned resultLen, char *resultBuffer) } *currentDest = '\0'; - return(strlen(resultBuffer)); + return((unsigned)strlen(resultBuffer)); } -unsigned +unsigned URI2File(char *encodedFileName, unsigned resultLen, char *resultBuffer) { char *currentSource = encodedFileName; char *currentDest = resultBuffer; currentSource = encodedFileName; - while (*currentSource && ((unsigned)(currentDest - resultBuffer) < resultLen - 1)) { + while (*currentSource + && ((unsigned)(currentDest - resultBuffer) < resultLen - 1)) { if (*currentSource == '/') { *currentDest++ = FILE_SEP_CHAR[0]; currentSource++; @@ -79,5 +78,5 @@ URI2File(char *encodedFileName, unsigned resultLen, char *resultBuffer) } } *currentDest = '\0'; - return(strlen(resultBuffer)); + return((unsigned)strlen(resultBuffer)); } |