Differences From Artifact [eddef3fa44]:
- File src/add.c — part of check-in [f66f414fd3] at 2010-08-28 06:59:10 on branch windowscompilers — This is the first check-in on the windowscompilers branch and it adds the <a href="http://www.digitalmars.com/">Digital Mars C compiler</a> The user should have dmc installed in c:\DM with zlib in c:\DM\extra\lib and c:\DM\extra\include. typing c:\DM\bin\make -f win\Makefile.dmc builds fossil.exe in dmcobj The following files were edited or added: <p>Checks if one of the windows compilers is used. If so we define _WIN32. Defining _WIN32 is normally done by<br>#include <windows.h><br> However most of the time we don't use windows.h. </p> <p>Adding an other windows compiler is done by adding<br> "|| defined(__COMPILER_IDENTIFIER__)"<br> and maybe some special things in the files below. Like <pre> </pre> </p> <p>These have all __MINGW32__ replaced by _WIN32. And in some places special processing for either MINGW32 or DMC <p>In popen2 the _open_osfHandle call first parameter is cast to a long. DMC refused to compile without the cast.</p> <p>DMC complained that it didn't knew of time_t in rss.h. time.h came after rss.h. Switching the two solved it! </p> <p>added tcl code to generate Makefile.dmc. tclsh src/makemake.tcl dmc prints to stdout the makefile. As a convienience to the end-user I added the win/Makefile.dmc to the repository. There are few changeable variables in there for adjusting path, CFLAGS LIBS etc. </p> <p>These are needed because DMC and MSVC doesn't provided them. dirent.h is copied verbatim from the net. unistd.h I found on the net too, but added some defines. <p>The problem with windows it doesn't have AWK standard installed. version.c creates VERSION.h. It is a very simple C-program and doesn't do a lot of checking. </p> (user: renez size: 10159) [more...]
To Artifact [92a9faf060]:
- File src/add.c — part of check-in [6938d5fe80] at 2010-09-17 06:02:42 on branch lang — less threatening desc. for removing an artifact from repo (user: bharder size: 10163)
| ︙ | ︙ | |||
212 213 214 215 216 217 218 |
zFilePath = blob_str(&pathname);
if( !db_exists(
"SELECT 1 FROM vfile WHERE pathname=%Q AND NOT deleted", zFilePath)
){
printf("SKIPPED %s\n", zPath);
}else{
db_multi_exec("UPDATE vfile SET deleted=1 WHERE pathname=%Q", zPath);
| | | 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 |
zFilePath = blob_str(&pathname);
if( !db_exists(
"SELECT 1 FROM vfile WHERE pathname=%Q AND NOT deleted", zFilePath)
){
printf("SKIPPED %s\n", zPath);
}else{
db_multi_exec("UPDATE vfile SET deleted=1 WHERE pathname=%Q", zPath);
printf("DISMISSED %s\n", zPath);
}
blob_reset(&pathname);
}
blob_resize(&path, origSize);
}
}
closedir(d);
|
| ︙ | ︙ | |||
262 263 264 265 266 267 268 |
file_tree_name(zName, &pathname, 1);
zPath = blob_str(&pathname);
if( !db_exists(
"SELECT 1 FROM vfile WHERE pathname=%Q AND NOT deleted", zPath) ){
fossil_fatal("not in the repository: %s", zName);
}else{
db_multi_exec("UPDATE vfile SET deleted=1 WHERE pathname=%Q", zPath);
| | | 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 |
file_tree_name(zName, &pathname, 1);
zPath = blob_str(&pathname);
if( !db_exists(
"SELECT 1 FROM vfile WHERE pathname=%Q AND NOT deleted", zPath) ){
fossil_fatal("not in the repository: %s", zName);
}else{
db_multi_exec("UPDATE vfile SET deleted=1 WHERE pathname=%Q", zPath);
printf("DISMISSED %s\n", zPath);
}
blob_reset(&pathname);
}
free(zName);
}
db_multi_exec("DELETE FROM vfile WHERE deleted AND rid=0");
db_end_transaction(0);
|
| ︙ | ︙ |