#include <basis/guards.h>
#include <stdio.h>
-#include <sys/time.h>
+#ifndef __WIN32__
+ #include <sys/time.h>
+#else
+ #include <time.h>
+#endif
#undef LOG
#define LOG(to_print) printf("%s::%s: %s\n", static_class_name(), func, astring(to_print).s())
basis::outcome huge_file::touch()
{
+ FUNCDEF("touch")
if (filename(_real_file->name()).exists()) {
// file exists, so just update time.
+#ifndef __WIN32__
int ret = utimes(_real_file->name().observe(), NIL);
if (ret != 0)
return FAILURE;
+#else
+ // open the file, although the function says create in its name...
+ HANDLE f = CreateFile(_real_file->name().observe(),
+ GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NIL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NIL);
+ if (!f) {
+ LOG(a_sprintf("failed to open file %s", _real_file->name().observe()));
+ return FAILURE;
+ }
+ // get current system time in UTC.
+ SYSTEMTIME *st = new SYSTEMTIME;
+ GetSystemTime(st);
+ // convert system time into file time.
+ FILETIME *t = new FILETIME;
+ SystemTimeToFileTime(st, t);
+ // set the file's time.
+ SetFileTime(f, NIL, t, t);
+#endif
} else {
// file doesn't exist yet.
byte_array junk(1);
echo "$(FEISTY_MEOW_DIR)/nucleus" "$(FEISTY_MEOW_DIR)/octopi" "$(FEISTY_MEOW_DIR)/graphiq" ; \
else \
echo ""; \
- fi | sed -e "s/\([a-zA-Z]\):\/\(.*\)/\/\1\/\2/" ')
+ fi | tr "\\\\" / | sed -e "s/\([a-zA-Z]\):\/\([^ ]*\)/\/cygdrive\/\1\/\2/g" ')
+ # above assumes cygwin support for windows! was assuming msys support.
HOOPLE_HEADERS := $(shell $(FIND) $(LOCUS_LIBRARY_HEADERS) -mindepth 1 -maxdepth 1 -type d )
endif
for i in "$@"; do
if [[ "$i" =~ ^-[a-zA-z][/\"].* ]]; then
-echo found parameter to fix...
flag="${i:0:2}"
filename="$(unix_to_dos_path ${i:2})"
-echo "first two chars are $flag"
-echo "last after that are $filename"
+#echo "first two chars are $flag"
+#echo "last after that are $filename"
recombined="$flag$filename"
-echo combined flag and file is $recombined
+#echo combined flag and file is $recombined
darc_commands+=("$recombined")
else
darc_commands+=($(unix_to_dos_path $i))
done
#temp!
- echo commands are now: >>/tmp/wrapdoze.log
+ echo commands are now:
for i in "${real_commands[@]}"; do
- echo $i >>/tmp/wrapdoze.log
+ echo -n "$i "
done
+ echo
#end temp
# now actually run the chewed command.