Search Results

Search found 2 results on 1 pages for 'user151410'.

Page 1/1 | 1 

  • R: Removing object from parent environment using rm()

    - by user151410
    Hi, I am trying to remove an object from the parent environment. rm_obj <- function(obj){ a <-deparse(substitute(obj)) print (a) print(ls(envir=sys.frame(-1))) rm(a,envir=sys.frame(-1)) } > x<-c(1,2,3) > rm_obj(x) [1] "x" [1] "rm_obj" "x" Warning message: In rm(a, envir = sys.frame(-1)) : object 'a' not found This will help clarify my misunderstanding regarding frames. Thanks in advance, Russ

    Read the article

  • Dangling pointers and double free

    - by user151410
    After some painful experiences, I understand the problem of dangling pointers and double free. I am seeking proper solutions. aStruct has a number of fields including other arrays. aStruct *A=NULL, *B = NULL; A = (aStruct*) calloc(1, sizeof(sStruct)); B = A; free_aStruct(A); ... //bunch of other code in various places. ... free_aStruct(B); Is there any way to write free_aStruct(X) so that free_aStruct(B) exists gracefully?? void free_aStruct(aStruct *X){ if (X ! = NULL){ if (X->a != NULL){free(X->a); x->a = NULL;} free(X); X = NULL; } } Doing above only sets A = NULL when free_aStruct(A); is called. B is now dangling. How can this situation be avoided / remedied? Is reference counting the only viable solution? or, are there other "defensive" free approaches, to prevent free_aStruct(B); from exploding? Thanks, Russ

    Read the article

1