1. unlink and rename functions for Linux exu

All,

I have the following two functions for unlinking and renaming files with the 
exw.exe Windows interpreter.  Can I do a similar thing with the exu Linux 
interpreter?

-------------------------------------------------------------

function unlink_win(sequence filename)

  atom     kernel32
  atom     deletefile
  atom     a
  atom     r

  kernel32 = open_dll("kernel32.dll")

  if kernel32 = 0 then
    return(-1)
  end if

  deletefile = define_c_func(kernel32, "DeleteFileA", {C_POINTER}, C_INT)

  if deletefile = -1 then
    return(-1)
  end if

  a = allocate_string(filename)

  r = c_func(deletefile, {a})

  free(a)

  if r != 1 then
    return(-1)
  end if

  return(0)
  
end function

function rename_win(sequence oldname, sequence newname)

  atom     kernel32
  atom     movefile
  atom     old
  atom     new
  atom     r

  kernel32 = open_dll("kernel32.dll")

  if kernel32 = 0 then
    return(-1)
  end if

  movefile = define_c_func(kernel32, "MoveFileA", {C_POINTER, C_POINTER}, 
C_INT)

  if movefile = -1 then
    return(-1)
  end if

  old = allocate_string(oldname)
  new = allocate_string(newname)

  r = c_func(movefile, {old, new})

  free(old)
  free(new)

  if r != 1 then
    return(-1)
  end if

  return(0)
  
end function


Regards,

FP.

new topic     » topic index » view message » categorize

2. Re: unlink and rename functions for Linux exu

On Wednesday 22 August 2001 07:28, freeplay at mailandnews.com wrote:

> I have the following two functions for unlinking and renaming files with
> the exw.exe Windows interpreter.  Can I do a similar thing with the exu
> Linux interpreter?

system("rm /foo/bar/link",0)

system("mv /foo/bar/fileold  /foo/bar/filenew",0)

Unlike Windows, Linux doesn't pop up a "DOS" box when you call 
system functions from an  xWindows program, so there's no need to 
go thru the hassles shown below.

Regards,
Irv

>
> function unlink_win(sequence filename)
>
>   atom     kernel32
>   atom     deletefile
>   atom     a
>   atom     r
>
>   kernel32 = open_dll("kernel32.dll")
>
>   if kernel32 = 0 then
>     return(-1)
>   end if
>
>   deletefile = define_c_func(kernel32, "DeleteFileA", {C_POINTER}, C_INT)
>
>   if deletefile = -1 then
>     return(-1)
>   end if
>
>   a = allocate_string(filename)
>
>   r = c_func(deletefile, {a})
>
>   free(a)
>
>   if r != 1 then
>     return(-1)
>   end if
>
>   return(0)
>
> end function
>
> function rename_win(sequence oldname, sequence newname)
>
>   atom     kernel32
>   atom     movefile
>   atom     old
>   atom     new
>   atom     r
>
>   kernel32 = open_dll("kernel32.dll")
>
>   if kernel32 = 0 then
>     return(-1)
>   end if
>
>   movefile = define_c_func(kernel32, "MoveFileA", {C_POINTER, C_POINTER},
> C_INT)
>
>   if movefile = -1 then
>     return(-1)
>   end if
>
>   old = allocate_string(oldname)
>   new = allocate_string(newname)
>
>   r = c_func(movefile, {old, new})
>
>   free(old)
>   free(new)
>
>   if r != 1 then
>     return(-1)
>   end if
>
>   return(0)
>
> end function
>
>
> Regards,
>
> FP.
>

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu